在Google地图上自动调整缩放尺寸?(取决于android屏幕分辨率)

poe*_*orn 8 java android google-maps zoom

我有两个GeoPoints给他们在地图上用标记显示它们.

如何获得MapController的最佳缩放级别,以便聚焦两个点的中间,但也可以将它们放在地图上.

整个事情应该在不同的屏幕分辨率下工作.

Dan*_*Lew 9

您可以使用MapView的MapController执行此操作.使用MapView.getController()获取MapController ,然后可以尝试使用MapController.zoomToSpan()设置正确的缩放.我也倾向于使用ItemizedOverlay的getLatSpanE6()和getLonSpanE6()来使这更简单.一个例子:

MapView map = (MapView) findViewById(R.id.Map);
MapController mc = map.getController();
mc.zoomToSpan(overlay.getLatSpanE6(), overlay.getLonSpanE6());
Run Code Online (Sandbox Code Playgroud)

重要的是要注意他们的警告:

因为缩放只能实现离散水平,并且因为地图的纵横比可能与给定的比率不匹配,所以拟合的质量可能会有所不同.我们唯一保证的是,在缩放之后,新纬度或新经度中的至少一个将在相应参数的2倍之内.

编辑:为了使地图缩放到正确的位置,您必须使用MapController.setCenter().

  • 在这种情况下,地图会缩放到一个随机位置,不是吗? (2认同)