【问题标题】:Change Pin Image of MKMapView on specific zoom In-Out iOS Swift 4在特定缩放进出 iOS Swift 4 上更改 MKMapView 的引脚图像
【发布时间】:2018-03-29 06:50:43
【问题描述】:

我当前的 MKMapView 是:

但是当我放大时,我想将 Pin Image 更改为:

再次缩小更改为默认的紫色圆圈。

当用户在 iOS Swift 4 中放大/缩小 MKMapView 时,我只想更改 Pin Image。 提前致谢! 快乐编码!

【问题讨论】:

    标签: ios swift mkmapview swift4 mkannotationview


    【解决方案1】:

    第 1 步。首先,您需要获取地图上显示哪些图钉/注释的信息。

    目标c

    -(void)getAnotationsInVisibleMapRectangle
    {
        NSSet *annotationSet = [myMapView annotationsInMapRect:myMapView.annotationVisibleRect];
        NSArray *annotationArray = [annotationSet allObjects]; 
    }
    

    斯威夫特

    extension MKMapView {
        func visibleAnnotations() -> [MKAnnotation] {
            return self.annotationsInMapRect(self.visibleMapRect).map { obj -> MKAnnotation in return obj as! MKAnnotation }
        }
    }
    

    第 2 步。您将使用委托方法调用放大/缩小regionDidChangeAnimated。只需调用上述函数。并更新您的 pin。

    func mapView(_ mapView: MKMapView, regionDidChangeAnimated animated: Bool) {
                print("call on zoom and zoom out ")
                let aryData = mapView.visibleAnnotations()
                print(aryData[0].coordinate)
          //remove pin from this coordinate
           //And add new pin as you want
    }
    

    在这里您可以找到图钉。并根据需要删除旧引脚并添加新引脚。

    【讨论】:

    • 能详细解释一下吗
    • 你有别针详细信息吗?
    • 是的,一定要告诉我你用什么语言工作。
    • 斯威夫特 4 @kalpesh
    • 你能提供我gtalk ID吗?所以我可以进一步解释给你
    猜你喜欢
    • 2018-12-21
    • 1970-01-01
    • 2017-01-04
    • 1970-01-01
    • 2012-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多