Как изменить пользовательское изображение булавки при увеличении в MKMapView? - PullRequest
0 голосов
/ 12 октября 2018

Я использовал swift 4.Я использую MKMapkit, и я добавил пользовательское изображение аннотации для контактов карты.Проблема в том,

Предположим, у меня есть 2 изображения, такие как image1 и image2.Изначально image1 загружается для всех выводов карты.Теперь, если я собираюсь приблизиться к виду карты, мне нужно заменить image1 на image2.Опять же, если я собираюсь уменьшить масштаб, мне нужно заменить image2 на image 1.

Итак, если кто-нибудь знает, как это сделать?

1 Ответ

0 голосов
/ 14 февраля 2019

У меня была похожая проблема, и я решаю ее следующим образом

Сначала внедрите 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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...