gpt4 book ai didi

ios - GMSCameraUpdate 缩小到最大距离而不是围绕路径

转载 作者:行者123 更新时间:2023-12-02 01:00:24 25 4
gpt4 key购买 nike

我正在开发一个 iOS 应用程序,但在使用 google map sdk 时遇到了一些问题。

我的应用程序获取坐标列表并在它们之间绘制折线以及开始和结束标记。目前,这一切都顺利发生。我现在想做的是更新相机以包含整个路径。这是我目前的代码:

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:[[sharedModel startNode] nodeLocation].latitude
longitude:[[sharedModel startNode] nodeLocation].longitude
zoom:18];
mapView_ = [GMSMapView mapWithFrame:CGRectZero camera:camera];

GMSMutablePath *path = [GMSMutablePath path];
for (int i = 0; i < [results count]; i++)
{
[path addCoordinate:[[results objectAtIndex:i] nodeLocation]];
}
GMSPolyline *polyline = [GMSPolyline polylineWithPath:path];
polyline.strokeWidth = 10;
polyline.map = mapView_;

GMSMarker *marker1 = [[GMSMarker alloc] init];
marker1 = [GMSMarker markerWithPosition:[[results objectAtIndex:0] nodeLocation]];//[[sharedModel startNode] nodeLocation]];
marker1.title = @"Start";
marker1.map = mapView_;

GMSMarker *marker2 = [[GMSMarker alloc] init];
marker2 = [GMSMarker markerWithPosition:[[results lastObject] nodeLocation]];
marker2.title = @"Finish";
marker2.map = mapView_;

GMSCoordinateBounds *bounds = [[GMSCoordinateBounds alloc] initWithPath:path];

GMSCameraUpdate *update = [GMSCameraUpdate fitBounds:bounds];

[mapView_ moveCamera:update];
self.view = mapView_;

当我运行此命令时,我的标记和折线都显示在正确的位置,但 map 会缩小到它可以移动的最大距离(尽管它以路径为中心)。有什么建议吗?

最佳答案

这段代码在loadView中吗?尝试在 loadView 中创建 map View ,但稍后更新相机,也许在 viewDidLoadviewWillAppear 中。

根据这个问题的答案,我认为相机更新方法可能无法从 loadView 正常工作:

Fit bounds not working as expected

关于ios - GMSCameraUpdate 缩小到最大距离而不是围绕路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19919270/

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