我实现了一个带有Pins的MapActivity,它遵循HelloMapView教程和许多StackOverflow资源。
为了我的应用程序,我想限制缩放级别的最小和最大。实际上,我希望避免在我的MapView上使用MapView。
我找不到怎么做到这一点的。
onZoomChanged()?AndroidManifest.xml
<uses-sdk
android:maxSdkVersion="16"
android:minSdkVersion="7"
android:targetSdkVersion="15" />MyMapActivity.java
// Here is my MapView
mMapView = (MapView) findViewById(R.id.game_map);
mMapView.setBuiltInZoomControls(false);
mMapView.setSatellite(true);
mMapController = mMapView.getController();
mMapController.setZoom(CONST_MAP_ZOOM);
mMapController.setCenter(new GeoPoint(48856700, 2351000));
mMapController.animateTo(new GeoPoint(48856700, 2351000));但当我用手指,我可以放大,直到我看到整个星球。
我想要的是限制变焦级别。
发布于 2012-07-29 21:54:47
我找到了出路。
我在MapView上禁用了多点操作:
<com.google.android.maps.MapView
android:id="@+id/game_map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:apiKey="@string/google_maps_api_key"
android:clickable="true" />然后我隐藏缩放控件:
mMapView = (MapView) findViewById(R.id.game_map);
mMapView.setBuiltInZoomControls(false);然后实现我自己的缩放控件。
发布于 2012-07-27 19:51:26
MapView在onSizeChanged上确实有
也许您可以听一听,然后调用getZoomLevel(),看看它是否在您可以接受的范围内,然后从那里更改它。
或者更好的是,您可以重写onDraw并始终在那里检查它。为MapView设置最小缩放级别
https://stackoverflow.com/questions/11694696
复制相似问题