禁用 com.google.android.maps.MapView 中的平移/缩放
如何禁用 MapView 的平移/缩放功能(不是缩放控件,我想要完全静态的地图)?
我还注意到触摸地图似乎不会触发 MapView onClickListener,有人可以详细说明为什么吗?
How can i disable the panning/zooming functionality of a MapView (not the zoom controls, i want a wholly static map)?
I've also noticed that touching the map doesn't seem to trigger the MapView onClickListener, could anyone elaborate why?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
对于 Android 版 Google Maps API 版本 2,方法如下:
For version 2 of the Google Maps API for Android, this is the way:
这是保证工作的
This is gauranteed to work
在布局文件中使用
android:clickable="false"
。Use
android:clickable="false"
in your layout file.请使用 Overlay 获取地图上的点击事件
http://code.google.com/android/add-ons/google-apis/reference/com/google/android/maps/Overlay.html
Please use Overlay to get the tap event on the map
http://code.google.com/android/add-ons/google-apis/reference/com/google/android/maps/Overlay.html
我有同样的问题,以下解决方案是我能找到的最好的解决方案,并且满足了我的要求:
正如 Alexander Stolz 在此发布的:
如何在 Android MapView 中禁用捏合
原因如下:
它不会完全禁用在 mapView 上的点击 - 它只会抓取和点击地图视图。防止使用两根手指手势(要进行缩放,您需要两根手指) - 点击地图(例如在叠加层上)仍然有效。
I had the same question and the following solution is the best one I could find and that fulfilled my requirements:
As posted by Alexander Stolz here:
How to disable pinch in Android MapView
And here is the reason:
It does not disable clicking on the mapView completely - it only grabs & prevents two-finger gestures (for zooming you need two fingers) - tapping on the map (for instance on Overlays) still works.
这是正确的方法
this is the right way
在您的 onMapReady 方法中,添加这些代码行
以禁用所有猜测
快乐编码:)
on your onMapReady method, add these code lines
to disable all the guesures
happy coding :)