为iOS swift的谷歌地图中的多边形添加文本标签

为iOS swift的谷歌地图中的多边形添加文本标签,第1张

概述如何在iOS中的Google地图中的多边形添加文本标签?我试图添加叠加但它只接受图像而不是文字?我在iOS 9上使用谷歌地图为ios与 Swift. 这是困扰我的代码部分: func updateUIMap(){ var str = "Hello" var data = str.dataUsingEncoding(NSUTF8StringEnco 如何在iOS中的Google地图中的多边形上添加文本标签?我试图添加叠加但它只接受图像而不是文字?我在iOS 9上使用谷歌地图为ios与 Swift. @H_301_7@

@H_301_7@这是困扰我的代码部分:

@H_301_7@

func updateUIMap(){            var str = "Hello"            var data = str.dataUsingEnCoding(NSUTF8StringEnCoding,allowLossyConversion: true)            var drawText = Nsstring(data: data!,enCoding: NSUTF8StringEnCoding)            let size = CGSize(wIDth: 24.0,height: 24.0)           var inImage = UIImage()            var textcolor: UIcolor = UIcolor.blackcolor()            var textFont: UIFont = UIFont(name: "Helvetica Bold",size: 12)!            UIGraphicsBeginImageContext(size)            let textFontAttributes = [                NSFontAttributename: textFont,NSForegroundcolorAttributename: textcolor,]            inImage.drawInRect(CGRectMake(0,size.wIDth,size.height))            var rect: CGRect = CGRectMake(24,24,size.height)            drawText.drawInRect(rect,withAttributes: textFontAttributes)            var newImage: UIImage = UIGraphicsGetimageFromCurrentimageContext()            UIGraphicsEndImageContext()            var overlay = GMSGroundOverlay(position: myposition,icon: newImage,zoomLevel:20)            overlay.bearing = 0            overlay.map = self.mapVIEw}
解决方法 您的UIGraphics绘图方法可能不正确,您可以尝试以下代码从文本中创建新图像: @H_301_7@

@H_301_7@

class VIEwController: UIVIEwController {    overrIDe func vIEwDIDLoad() {        super.vIEwDIDLoad()        super.vIEwDIDLoad()        let camera = GMSCameraposition.cameraWithLatitude(40.712216,longitude: -74.22655,zoom: 10)        let mapVIEw = GMSMapVIEw.mapWithFrame(CGRectZero,camera: camera)        mapVIEw.myLocationEnabled = true        self.vIEw = mapVIEw        addGroundOverlay(camera.target)    }    func newImage(text: String,size: CGSize) -> UIImage {        let data = text.dataUsingEnCoding(NSUTF8StringEnCoding,allowLossyConversion: true)        let drawText = Nsstring(data: data!,enCoding: NSUTF8StringEnCoding)        let textFontAttributes = [            NSFontAttributename: UIFont(name: "Helvetica Bold",size: 20)!,NSForegroundcolorAttributename: UIcolor.redcolor(),]        UIGraphicsBeginImageContextWithOptions(size,false,0)        drawText?.drawInRect(CGRectMake(0,size.height),withAttributes: textFontAttributes)        let newImage = UIGraphicsGetimageFromCurrentimageContext()        UIGraphicsEndImageContext()        return newImage    }    func addGroundOverlay(position: CLLocationCoordinate2D) {        let overlay = GMSGroundOverlay(position: position,icon: newImage("Hello StackOverflow",size: CGSizeMake(150.0,150.0)),zoomLevel: 10)        overlay.bearing = 0        overlay.map = (self.vIEw as! GMSMapVIEw)    }    overrIDe func dIDReceiveMemoryWarning() {        super.dIDReceiveMemoryWarning()        // dispose of any resources that can be recreated.    }}
@H_301_7@

总结

以上是内存溢出为你收集整理的为iOS swift的谷歌地图中的多边形添加文本标签全部内容,希望文章能够帮你解决为iOS swift的谷歌地图中的多边形添加文本标签所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1058830.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存