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

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

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

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

最佳答案
您可以使用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());

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

Because the zoom can only achieve
discrete levels, and because the
aspect ratio of the map may not match
the ratio given, the quality of the
fit may vary. The only thing we
guarantee is that, after the zoom, at
least one of the new latitude or the
new longitude will be within a factor
of 2 from the corresponding parameter.

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

转载注明原文:在Google地图上自动调整缩放尺寸? (取决于Android屏幕分辨率) - 代码日志