gpt4 book ai didi

ios - 如何在 Swift 中使用组合图像创建 GMSMarker

转载 作者:行者123 更新时间:2023-11-28 06:23:23 26 4
gpt4 key购买 nike

我需要在 iOS 应用程序中为我的 Google map 屏幕创建一个 GMSMarker。我需要标记是图像的组合,即通用标记图像和用户图像。例如:Generic marker

在此标记内,我需要适合用户的图像。我的 Assets 中有这两个图像。它尝试过

func image(byDrawingImage image: UIImage, inRect rect: CGRect) -> UIImage! {
UIGraphicsBeginImageContext(size)

draw(in: CGRect(x: 0, y: 0, width: size.width, height: size.height))

image.draw(in: rect)
let result = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return result
}

但这返回了一个不完美的图像。有替代解决方案吗?注意:此处提供的示例标记图像不是我实际使用的图像。那是一个矩形标记。

最佳答案

这里我给你提供一些示例代码,试试看,它会根据你的要求工作和定制/修改:

let marker = GMSMarker()
let lat = Double("13.063754")
let long = Double("80.24358699999993")
marker.position = CLLocationCoordinate2DMake(lat!,long!)

///Creating UIView for Custom Marker
let DynamicView=UIView(frame: CGRectMake(0, 0, 50, 50))
DynamicView.backgroundColor=UIColor.clearColor()

//Creating Marker Pin imageview for Custom Marker
var imageViewForPinMarker : UIImageView
imageViewForPinMarker = UIImageView(frame:CGRectMake(0, 0, 40, 50));
imageViewForPinMarker.image = UIImage(named:"LocationPin")

//Creating User Profile imageview
var imageViewForUserProfile : UIImageView
imageViewForUserProfile = UIImageView(frame:CGRectMake(0, 0, 35, 35));
imageViewForUserProfile.image = UIImage(named:"userprofile")

//Adding userprofile imageview inside Marker Pin Imageview
imageViewForPinMarker.addSubview(imageViewForUserProfile)

//Adding Marker Pin Imageview isdie view for Custom Marker
DynamicView.addSubview(imageViewForPinMarker)

//Converting dynamic uiview to get the image/marker icon.
UIGraphicsBeginImageContextWithOptions(DynamicView.frame.size, false, UIScreen.mainScreen().scale)
DynamicView.layer.renderInContext(UIGraphicsGetCurrentContext()!)
let imageConverted: UIImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()

marker.icon = imageConverted
marker.map = self.mapView

关于ios - 如何在 Swift 中使用组合图像创建 GMSMarker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42687512/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com