如何计算GMSCamera zoom

Alf*_*rse 8 ios google-maps-sdk-ios

我正在开发iOS应用程序,包括GoogleMaps.GoogleMaps SDK for iOS的实施过程尚未完成.

但我想知道如何计算GMSCamera zoom以在地图上显示整条路线.

在Apple Map中,我们使用span,也许.但GoogleMaps SDK没有跨度.

请给我建议.

Ras*_*spu 18

实际上,在当前版本的SDK中,您可以使用fitBounds:

GMSCoordinateBounds *bounds = [[GMSCoordinateBounds alloc] initWithPath:yourPath];
//There are several useful init methods for the GMSCoordinateBounds!
GMSCameraUpdate *update = [GMSCameraUpdate fitBounds:bounds];
[mapView_ moveCamera:update];
Run Code Online (Sandbox Code Playgroud)

通过这种方式,你可以将数学运用到谷歌,我很确定他们真的很擅长.


Lee*_*ong 3

这是一个可能有帮助的函数,因为它从“Google 兼容”的 MKMapView 计算缩放级别

- (NSInteger)getZoomLevel
{
        MKMapView *map = (MKMapView *)self.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;
}
Run Code Online (Sandbox Code Playgroud)

如果您可以获取坐标并将其传递进去,那么应该没问题。