Обновление маркеров карты на основе уровня масштабирования - Google Maps IOS - PullRequest
0 голосов
/ 03 ноября 2019

Как я уже сказал в заголовке, я хочу обновить маркеры карты (удалить или добавить) на основе уровня масштабирования.

func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {

    for locations in listLocations {
                let lat = locations.location.latitude
                let lon = locations.location.longitude
                DispatchQueue.main.async{
                    let marker = GMSMarker()
                    marker.position = CLLocationCoordinate2DMake(lat, lon)
                    marker.map = self.mapView
                    let camera = GMSCameraPosition.camera(withLatitude: lat, longitude:lon, zoom:16)
                    self.mapView.animate(to: camera)


                }

    }


    //let location = locations.last


    //self.locationManager.stopUpdatingLocation()

}

func mapView(_ mapView: GMSMapView, didChange position: GMSCameraPosition) {
    print(mapView.camera.zoom)
    for locations in listLocations {
        let lat = locations.location.latitude
        let lon = locations.location.longitude
        if mapView.camera.zoom < 9 {
            mapView.clear()
        }else if mapView.camera.zoom >= 9 && mapView.camera.zoom <= 12 {
            if locations.type == "marina" {
                let marker = GMSMarker()
                marker.position = CLLocationCoordinate2DMake(lat, lon)
                marker.map = self.mapView
            }
        }else if mapView.camera.zoom >= 13 && mapView.camera.zoom <= 16 {
            let marker = GMSMarker()
            marker.position = CLLocationCoordinate2DMake(lat, lon)
            marker.map = self.mapView
        }else if mapView.camera.zoom >= 17 {
            let marker = GMSMarker()
            marker.position = CLLocationCoordinate2DMake(lat, lon)
            marker.map = self.mapView
        }
    }

}

Все начинается довольно хорошо, и когда я увеличиваю до 9 или менее маркеров,ушел как я хочу. но когда я увеличиваю или уменьшаю масштаб изображения, я вижу все маркеры!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...