在谷歌地图上显示多个'GMSMarker'标记



我试图使用谷歌地图显示多个位置,代码只显示一个位置。我正在使用for循环。我使用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
}

正如我所说,我需要显示多个位置,我查看了相对的答案,但我没有发现任何与我的问题相匹配的内容。

此代码

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,则将其删除。

相关内容

  • 没有找到相关文章

最新更新