gpt4 book ai didi

ios - 如何将 GMSCircle 的边界与 google maps SDK 相匹配以完全显示在 map 上?

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:00:36 26 4
gpt4 key购买 nike

我想在 MapView 上完整显示 GMSCircle,但圆的 radius 是动态更改的。当 radius 更改时,MapView 将自动调整以查看 map 上的完整圆圈以显示所有标记。

Swift 语言中,我找到了一个可能对我有帮助的解决方案,如下所示:Change Camera Zoom based on Radius Google Maps iOS SDK

但我必须在 Objective-c 中实现它,而在 Objective-c 中我们没有为 GMSCircle 绑定(bind)属性。

提前致谢,请指导我。

最佳答案

你必须根据你的半径设置缩放级别

 // SET ZOOM LEVEL
int zoomLevel = 11;
double radius = raduismeter+ raduismeter / 2;
double scale = radius / 500;
zoomLevel = (int) (16 - log(scale) / log(2));
zoomLevel++;

您必须根据需要设置和计算缩放级别。比你必须设置半径圆

  GMSCircle *geoFenceCircle = [[GMSCircle alloc] init];
geoFenceCircle.position =PinDropCoordinates;
geoFenceCircle.strokeWidth = 0.5;
geoFenceCircle.strokeColor = [UIColor redColor];
NSLog(@"%@",geoFenceCircle);
geoFenceCircle.radius =5000.00;
geoFenceCircle.map = self.mapView;

设置圆圈后,您必须相应地为相机设置动画。

    [CATransaction begin];
[CATransaction setValue:[NSNumber numberWithFloat:3] forKey:kCATransactionAnimationDuration];
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:PinDropCoordinates.latitude
longitude:PinDropCoordinates.longitude zoom:zoomLevel];
[self.mapView animateToCameraPosition: camera];


[CATransaction commit];

关于ios - 如何将 GMSCircle 的边界与 google maps SDK 相匹配以完全显示在 map 上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41829163/

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