如何为Google地图IOS设置可见区域/缩放级别以显示添加到mapview的所有标记

时间:2013-10-22 10:13:59

标签: ios google-maps google-maps-sdk-ios

我在ios app中使用了Google地图,我想动态设置缩放级别取决于我在地图上进行的搜索。基本上我通过搜索城市名称或纬度/经度查询来添加引脚。在每次搜索之后我都会添加pin&我需要通过最近的搜索显示所有添加的标记。

2 个答案:

答案 0 :(得分:3)

@IBOutlet weak var mapView: GMSMapView!

let camera = GMSCameraPosition.cameraWithLatitude(23.0793, longitude:  
72.4957, zoom: 5)
mapView.camera = camera
mapView.delegate = self
mapView.myLocationEnabled = true

*** arry has dictionary object which has value of Latitude and Longitude. ***
let path = GMSMutablePath()

for i in 0..<arry.count {

   let dict = arry[i] as! [String:AnyObject]
   let latTemp =  dict["latitude"] as! Double
   let longTemp =  dict["longitude"] as! Double

   let marker = GMSMarker()
   marker.position = CLLocationCoordinate2D(latitude: latTemp, longitude: longTemp)
   marker.title = "Austrilia"
   marker.appearAnimation = kGMSMarkerAnimationNone
   marker.map = self.mapView

  path.addCoordinate(CLLocationCoordinate2DMake(latTemp, longTemp))

} 

 let bounds = GMSCoordinateBounds(path: path)
 self.mapView!.animateWithCameraUpdate(GMSCameraUpdate.fitBounds(bounds, withPadding: 50.0))

答案 1 :(得分:1)

See this answer以一种简单的方式迭代给定的标记数组,然后相应地设置边界。