有没有办法可以为我的MapView设置最小的zooM级别?当缩放级别设置为1时,地图看起来非常难看,因为复制了整个世界地图。
我想阻止缩放级别。理想情况下,无论用户是通过手势还是缩放控件进行缩放,它都会起作用。
答案 0 :(得分:17)
幸运的是,我在MapView中有一个叠加层。否则,我想你必须创建一个,只为这个小功能: - /。我想知道为什么没有其他方法可以做到这一点。
无论如何,你只需要覆盖你的draw方法:
@Override
public void draw(Canvas canvas, MapView mapView, boolean shadow) {
super.draw(canvas, mapView, shadow);
if (mapView.getZoomLevel() < 2)
mapView.getController().setZoom(2);
}
GER
答案 1 :(得分:3)
类似于 ggomeze的通过覆盖*draw()
方法回答,但最好覆盖dispatchDraw()
中的MapView
。通过这种方式,您可以阻止平铺为空的缩放级别的绘制。
另请注意,此时将地图居中的好处就好像您使用触摸手势进行缩放手动将缩放设置为一级可能会导致地图每次都偏离中心(这会使{{1看起来有点狡猾!)。
MapView
这可以通过在手势发生时跟踪缩放级别来改进,因此用户在打手势时看不到部分缩放到被阻挡的最低缩放级别(1)但是我认为上面的情况最适合更容易!
答案 2 :(得分:-4)
只需在代码中写上onCreate:
MapController myMC myMapView.getController();
myMC.setZoom(int value);