【问题标题】:How to update a GMSMapView with GMSCameraUpdate如何使用 GMSCameraUpdate 更新 GMSMapView
【发布时间】:2015-11-28 13:12:53
【问题描述】:

我在 GMSMapView 上调用 animateWithCameraUpdate,希望它更改地图视图以显示新的 GMSCoordinateBounds,但它没有效果。

我的地图加载到 UICollectionViewReusableView 中以最初显示西欧:

@IBOutlet weak var mapView: GMSMapView!

var fetchedResultsController : NSFetchedResultsController!


override func awakeFromNib() {
    super.awakeFromNib()
    // Initialization code
    let camera = GMSCameraPosition.cameraWithLatitude(51.48, longitude: 0, zoom: 4)
    mapView.camera = camera

}

然后我调用一个函数来查询我的所有位置并更新 GMSMapView 以显示我的所有位置:

func plotAll(){
    let bounds = GMSCoordinateBounds.init()
    for property in fetchedResultsController.fetchedObjects!
    {
        let capitalAsset : CapitalAsset = property as! CapitalAsset
        let marker = GMSMarker.init()
        marker.draggable = false
        marker.snippet = capitalAsset.address
        let location = CLLocationCoordinate2DMake(Double(capitalAsset.latitude!), Double(capitalAsset.longitude!))
        marker.position = location
        marker.map = mapView
        // Update bounds to include marker
        bounds.includingCoordinate(marker.position)
    }

    mapView.animateWithCameraUpdate(GMSCameraUpdate.fitBounds(bounds, withPadding: 50.0))

}

我的 plotAll 函数被成功调用并循环通过十几个全局位置,将这些位置添加到 GMSCoordinateBounds。

但是地图没有更新。当我调用 animateWithCameraUpdate 时,我希望地图视图会发生变化,但它没有效果。

更多信息,为了调试,我换了行

    mapView.animateWithCameraUpdate(GMSCameraUpdate.fitBounds(bounds, withPadding: 50.0))

与:

let camera = GMSCameraPosition.cameraWithLatitude(51.48, longitude: 0, zoom: 10)
mapView.camera = camera

这确实更新了我的地图视图,因此调用我的 plotAll 函数没有问题,问题可能在于我使用 animateWithCameraUpdate。

【问题讨论】:

    标签: swift google-maps gmsmapview


    【解决方案1】:

    我通过替换:

    mapView.animateWithCameraUpdate(GMSCameraUpdate.fitBounds(bounds, withPadding: 50.0))
    

    与:

    let camera = mapView.cameraForBounds(bounds, insets:UIEdgeInsetsZero)
    mapView.camera = camera;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-25
      • 2013-05-28
      • 2018-07-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多