gpt4 book ai didi

ios - -[GMSMapView 区域] : unrecognized selector - Issue with Google Maps SDK for iOS

转载 作者:行者123 更新时间:2023-11-28 20:18:17 25 4
gpt4 key购买 nike

我来这里是因为我的 iOS 版 Google Maps SDK 有问题。

我的 map 运行正常,一切正常。

在我的项目中,我试图在 2 个标记之间进行动态缩放,以便在同一帧中查看它们。所以这是我的代码(我也在 stackoverflow 的某个地方得到它):

- (NSInteger)getZoomLevel
{
MKMapView *map = (MKMapView *)mapView_;
CLLocationDegrees longitudeDelta = map.region.span.longitudeDelta;
CGFloat mapWidthInPixels = map.bounds.size.width;
double zoomScale = longitudeDelta * 85445659.44705395 * M_PI / (180.0 * mapWidthInPixels);
double zoomer = 20 - log2(zoomScale);
if ( zoomer < 0 ) zoomer = 0;
return (NSInteger)zoomer;
}

我是这样调用它的:

GMSCameraUpdate *zoomCamera = [GMSCameraUpdate zoomIn];
[mapView_ animateWithCameraUpdate:zoomCamera];

CLLocationCoordinate2D myPosition = CLLocationCoordinate2DMake(mapView_.myLocation.coordinate.latitude, mapView_.myLocation.coordinate.longitude);
GMSCameraUpdate *myPositionCam = [GMSCameraUpdate setTarget:myPosition];
[mapView_ animateToZoom:[self getZoomLevel]];
[mapView_ animateWithCameraUpdate:myPositionCam];

重点是在同一帧中看到 2 个标记。

这是我尝试运行它时得到的结果:

-[GMSMapView region]: unrecognized selector sent to instance 0x210527e0

有什么想法吗?或者,如果有人获得了获得正确缩放的最佳示例代码。

谢谢!! :)

最佳答案

您从 How to calculate GMSCamera zoom 获得的示例代码正在展示如何使用 MKMapView 完成 - 目的是使其适应 GMSMapView 的等效代码(不直接使用代码)。

这里有一个更全面的答案(专门针对 GMSMapView):

How to setRegion with google maps sdk for iOS?

但是,在 Google 添加 fitBounds 方法之前,这两个问题都被问到了,该方法应该能够被使用而不是编写您自己的代码:

https://developers.google.com/maps/documentation/ios/reference/interface_g_m_s_camera_update

虽然我注意到了 somebody reported fitBounds 对他们不起作用 - 所以看看你的进展情况。

关于ios - -[GMSMapView 区域] : unrecognized selector - Issue with Google Maps SDK for iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16954254/

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