【发布时间】:2013-12-24 13:54:40
【问题描述】:
我想在 iOS 的谷歌地图中使用缩放控件,但我在 google map SDK for iOS 的文档中没有发现任何关于缩放控件的信息。谷歌地图 SDK for iOS 中是否有缩放控件?
【问题讨论】:
标签: ios google-maps controls scale
我想在 iOS 的谷歌地图中使用缩放控件,但我在 google map SDK for iOS 的文档中没有发现任何关于缩放控件的信息。谷歌地图 SDK for iOS 中是否有缩放控件?
【问题讨论】:
标签: ios google-maps controls scale
您需要通过提供 lang、lat 值在 GMSCameraPosition 中使用缩放级别。
GMSCameraPosition Class Reference
- (浮动)缩放 [读取,分配] 缩放级别。 缩放使用指数比例,其中缩放 0 将整个世界表示为 256 x 256 正方形。每个连续的缩放级别都会将放大倍数增加 2 倍。在缩放 10 时,整个世界是一个 256k x 256k 的正方形,依此类推。
对于您需要使用自定义控件 -,+ 以及放大和缩小的控件。
使用任何静态公共成员函数来调整 GMSCameraPosition 上的缩放级别。
然后[mapView_ setCamera:myCamera];
zoom level of the camera, read this
希望有帮助!!
【讨论】:
float actualZoom;
#define SENSITY_OF_ZOOM 0.5
在你分配初始化地图后设置你的实际缩放:
actualZoom = _mapView.camera.zoom;
方法:
- (void) mapView:(GMSMapView *)mapView didChangeCameraPosition:(GMSCameraPosition *)position{
if (fabsf(_mapView.camera.zoom - actualZoom) > SENSITY_OF_ZOOM) {
NSLog(@"user zoomed enough");
if (_mapView.camera.zoom > actualZoom) {
actualZoom = actualZoom + SENSITY_OF_ZOOM;
}
else{
actualZoom = actualZoom - SENSITY_OF_ZOOM;
}
}
}
【讨论】: