gpt4 book ai didi

google-maps-sdk-ios - 如何使用iOS的Google Maps sdk拟合坐标数组的边界?

转载 作者:行者123 更新时间:2023-12-03 09:35:43 24 4
gpt4 key购买 nike

如何使用iOS的Google Maps sdk拟合坐标数组的边界?
我需要缩放4个可见标记的 map 。

最佳答案

这是我针对这个问题的解决方案。通过多个坐标构建GMSCoordinateBounds对象。

- (void)focusMapToShowAllMarkers
{
CLLocationCoordinate2D myLocation = ((GMSMarker *)_markers.firstObject).position;
GMSCoordinateBounds *bounds = [[GMSCoordinateBounds alloc] initWithCoordinate:myLocation coordinate:myLocation];

for (GMSMarker *marker in _markers)
bounds = [bounds includingCoordinate:marker.position];

[_mapView animateWithCameraUpdate:[GMSCameraUpdate fitBounds:bounds withPadding:15.0f]];
}

更新了答案:由于不建议使用 GMSMapView markers属性,因此应将所有标记保存在自己的数组中。

更新了Swift 3答案:
    func focusMapToShowAllMarkers() {
let firstLocation = (markers.first as GMSMarker).position
var bounds = GMSCoordinateBoundsWithCoordinate(firstLocation, coordinate: firstLocation)

for marker in markers {
bounds = bounds.includingCoordinate(marker.position)
}
let update = GMSCameraUpdate.fitBounds(bounds, withPadding: CGFloat(15))
self.mapView.animate(cameraUpdate: update)
}

关于google-maps-sdk-ios - 如何使用iOS的Google Maps sdk拟合坐标数组的边界?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15134511/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com