Отображение нескольких маркеров «GMSMarker» на картах Google - PullRequest
0 голосов
/ 02 декабря 2018

Я пытаюсь показать несколько местоположений с помощью карт Google, код показывает только одно местоположение.Я использую для цикла.Я проверил код с помощью MKMapView, и он работает.

Вот код:

let dict = [self.jsonElement]

            for dicts in dict {

                let latiCon = (dicts.value(forKey: "lati") as! NSString).doubleValue
                let longiCon = (dicts.value(forKey: "longi") as! NSString).doubleValue

            // Create a GMSCameraPosition that tells the map to display the
            // coordinate -33.86,151.20 at zoom level 6.
            let camera = GMSCameraPosition.camera(withLatitude: latiCon, longitude: longiCon, zoom: 6.0)
            let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
            self.view = mapView

            // Creates a marker in the center of the map.
            let marker = GMSMarker()
            marker.position = CLLocationCoordinate2D(latitude: latiCon, longitude: longiCon)
            marker.title = "Sydney"
            marker.snippet = "Australia"
            marker.map = mapView

            }

Мне нужно показать несколько мест, как я уже сказал, я смотрю на относительные ответы, но я сделалне найти ничего подходящего с моим вопросом.

1 Ответ

0 голосов
/ 02 декабря 2018

этот код

 let camera = GMSCameraPosition.camera(withLatitude: latiCon, longitude: longiCon, zoom: 6.0)
        let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
        self.view = mapView

создание нового mapView каждый раз в цикле, поэтому естественно, что вы получаете.новый mapview + один маркер.переместите этот код за пределы цикла или удалите его, если у вас уже есть представление карты, объявленное ранее.

...