gpt4 book ai didi

ios - 使用 Google Maps SDK 的哪个方法,例如 MapKit 的 struct MKCooperativeRegion

转载 作者:行者123 更新时间:2023-11-30 14:12:22 28 4
gpt4 key购买 nike

我返工this tutorial适用于 iOS 版 Google map SDK。我想通过提供中心点和定义水平和垂直范围的跨度来定义它。我读过this tutorial of Google Maps SDK for iOS我认为应该使用 zoomAtCooperative:forMeters:perPoints: 在我看来,这不太正确

    func mapRegion() -> MKCoordinateRegion {
var region: MKCoordinateRegion = MKCoordinateRegion(center: CLLocationCoordinate2DMake(0, 0), span: MKCoordinateSpanMake(0, 0))
var initialLoc: Location = self.trek.locations.firstObject as! Location
var minLat = (initialLoc as Location).latitude.doubleValue
var minLng = (initialLoc as Location).longitude.doubleValue
var maxLat = (initialLoc as Location).latitude.doubleValue
var maxLng = (initialLoc as Location).longitude.doubleValue

for location in self.trek.locations.array {
if (location as! Location).latitude.doubleValue < minLat {
minLat = (location as! Location).latitude.doubleValue;
}
if (location as! Location).longitude.doubleValue < minLng {
minLng = (location as! Location).longitude.doubleValue;
}
if (location as! Location).latitude.doubleValue > maxLat {
maxLat = (location as! Location).latitude.doubleValue;
}
if (location as! Location).longitude.doubleValue > maxLng {
maxLng = (location as! Location).longitude.doubleValue;
}
}

region.center.latitude = (minLat + maxLat) / 2.0;
region.center.longitude = (minLng + maxLng) / 2.0;

region.span.latitudeDelta = (maxLat - minLat) * 1.1; // 10% padding
region.span.longitudeDelta = (maxLng - minLng) * 1.1; // 10% padding

return region;

}

最佳答案

您必须使用GMSColinedBounds

func mapRegion() -> GMSCoordinateBounds {
var path = GMSMutablePath()
var bounds = GMSCoordinateBounds(path: path)
var initialLoc: Location = self.trek.locations.firstObject as! Location
var minLat = (initialLoc as Location).latitude.doubleValue
var minLng = (initialLoc as Location).longitude.doubleValue
var maxLat = (initialLoc as Location).latitude.doubleValue
var maxLng = (initialLoc as Location).longitude.doubleValue
for location in self.trek.locations.array {
if (location as! Location).latitude.doubleValue < minLat {
minLat = (location as! Location).latitude.doubleValue;
}
if (location as! Location).longitude.doubleValue < minLng {
minLng = (location as! Location).longitude.doubleValue;
}
if (location as! Location).latitude.doubleValue > maxLat {
maxLat = (location as! Location).latitude.doubleValue;
}
if (location as! Location).longitude.doubleValue > maxLng {
maxLng = (location as! Location).longitude.doubleValue;
}
}
path.addCoordinate(CLLocationCoordinate2DMake(minLat, minLng))
path.addCoordinate(CLLocationCoordinate2DMake(maxLat, maxLng))
return bounds;
}
self.viewMap?.animateWithCameraUpdate(GMSCameraUpdate.fitBounds(mapRegion(), withPadding: 15.0))

关于ios - 使用 Google Maps SDK 的哪个方法,例如 MapKit 的 struct MKCooperativeRegion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31631623/

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