Android MapView - 自定义缩放按钮
你知道是否有办法在Android的mapView中制作自定义缩放按钮吗?或者只有预先准备好的缩放控件?
谢谢赫米扎克
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
你知道是否有办法在Android的mapView中制作自定义缩放按钮吗?或者只有预先准备好的缩放控件?
谢谢赫米扎克
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
您可以将默认缩放控件设置为 false (
mapView.setBuiltInZoomControls(false)
),添加一些绘制在地图顶部的按钮,并让每个按钮在按下时都有一个侦听器。 MapView 允许您设置缩放级别。其中一个按钮可以执行mapView.getController().zoomOut()
,另一个按钮可以执行mapView.getController().zoomIn()
。如果由于某种原因您需要查找缩放级别,您可以执行mapView.getController().getZoomLevel()
。可以使用mapView.getController().getMaxZoomLevel()
找到最大缩放级别。根据我的经验,该值为 21。这是 Google 代码页上的 MapView 文档页面。
在这里您可以阅读有关 MapController 的文档
编辑:
更新了使用 ZoomIn 和 ZoomOut 的解决方案
You can set the default zoom controls to false (
mapView.setBuiltInZoomControls(false)
), add some buttons that are drawn on top of the map and have each button have a listener for when they are pressed. The MapView allows you to set the zoom level. One of the buttons could do amapView.getController().zoomOut()
, the other could do amapView.getController().zoomIn()
. If for some reason you need to find the zoom level, you can do amapView.getController().getZoomLevel()
. The maximum zoom level can be found by usingmapView.getController().getMaxZoomLevel()
. In my experiences, this value was 21.Here is the page for MapView documentation on its Google Code page.
Here you can read documentation on the MapController
EDIT:
Updated solution to use zoomIn and zoomOut
你应该使用mapView.getController().zoomIn()和mapView.getController().zoomOut(),而不是mapView.getController().setZoom()。它为您提供像谷歌地图默认缩放控件一样的动画缩放,而且您不需要自己处理缩放级别。
此处对此进行了讨论
Rather than mapView.getController().setZoom() you should use mapView.getController().zoomIn() and mapView.getController().zoomOut(). It gives you animated zoom like google maps default zooming controls and also you don't need to take care of zoom level by yourself.
This has been discussed here