gpt4 book ai didi

java - MapActivity - 如何限制缩放级别?

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

我在 HelloMapView Tutorial 之后实现了一个带有 Pins 的 MapActivity以及许多 StackOverflow 资源。

为了我的应用程序的目的,我想限制缩放级别最小值和最大值。事实上,我想避免在我的 MapView 上使用 android:clickable="true"

我找不到如何实现它。

  • 这可能吗?
  • 有人知道怎么做吗?
  • 是否有一个我没有看到的内置函数可以覆盖 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));

但是当我用手指时,我可以缩小直到看到整个星球。

我想要的是限制缩放级别。

最佳答案

MapView 确实有 onSizeChanged

参见 https://developers.google.com/maps/documentation/android/reference/com/google/android/maps/MapView#onSizeChanged(int , 整数, 整数, 整数)

也许您可以监听它,然后调用 getZoomLevel() 并查看它是否在您可接受的范围内并从那里进行更改。

或者更好的是,您可以覆盖 onDraw 并始终在那里检查它。 Set minimum zoom level for MapView

关于java - MapActivity - 如何限制缩放级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11694696/

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