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的谷歌地图中的多边形添加文本标签所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)