Mapbox - setCenterCoordinate取消选择注释

时间:2016-07-27 01:07:26

标签: ios swift mapbox

我正在尝试mapbox(使用ios sdk),我遇到了一个问题,我认为我已经缩小了很多。这是我的代码:

func centerMap(location: CLLocationCoordinate2D) {
    map.setCenterCoordinate(location,
                            zoomLevel: 14,
                            animated: true)
}

func mapView(mapView: MGLMapView, didDeselectAnnotation annotation: MGLAnnotation) {
    dealDetails.hidden = false
}

func mapView(mapView: MGLMapView, didUpdateUserLocation userLocation: MGLUserLocation?) {
    if let currentLocation = userLocation?.coordinate {
        centerMap(currentLocation)
    }
}

如果我在用户的位置更新时没有重新居中地图(即,只是注释掉centerMap(currentLocation)调用),则注释保持选中状态。重新定位地图会调用didDeselectAnnotation函数,而我无法弄清楚如何选择该注释。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:1)

如果你更新中心坐标,我认为没有办法解决这个问题。您必须重新选择注释。但是,您可能不需要这样做。如果您将地图视图上的userTrackingMode设置为.Follow,则应自动重新居中。