我用过swift 4
。我正在使用MKMapkit
,我已经为地图引脚添加了自定义注释图像。问题是,
假设,我有2张图片,如image1
和image2
。最初,为所有地图引脚加载image1。现在,如果我要放大地图视图意味着我需要将image1
替换为image2
。再次,如果我要缩小意味着我需要将image2
替换为image
1。
那么,如果有人知道怎么做?
我有类似的问题,我就是这样解决的
首先在地图委托中实现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
}