gpt4 book ai didi

swift - 如何在放大 MKMapView 时更改自定义图钉图像?

转载 作者:行者123 更新时间:2023-11-28 07:38:47 24 4
gpt4 key购买 nike

我用过 swift 4。我正在使用 MKMapkit 并为 map 图钉添加了自定义注释图像。问题是,

假设,我有 2 张图片,例如 image1image2。最初,为所有 map 图钉加载 image1。现在,如果我要放大到 map View 意味着我需要将 image1 替换为 image2。同样,如果我要缩小意味着我需要将 image2 替换为 image 1。

那么,如果有人知道该怎么做呢?

最佳答案

我遇到过类似的问题,我是这样解决的

首先在你的 map 委托(delegate)中实现 regionDidChangeAnimated

    func mapView(_ mapView: MKMapView, regionDidChangeAnimated animated: Bool) {

calculateZoomFactor()//Create global var named zoomFactor
print("*************************")
if zoomFactor > x { //Change the x value as you wish
print("Zoom close, you can remove your annotations, and create with new image2")
} else {
print("Zoom out, remove annotations, and add new annotations with image 1")
}
print("*************************")
}

这是我自定义的 zoomFactor 计算器

    func calculateZoomFactor() {
let zoomWidth = mapView.visibleMapRect.size.width
let zoomFactor = (log2(zoomWidth)) - 8.785//You can change this constant also
self.zoomFactor = zoomFactor
}

关于swift - 如何在放大 MKMapView 时更改自定义图钉图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52783969/

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