【发布时间】:2014-05-20 10:25:58
【问题描述】:
我在 Android 中使用谷歌地图。我无法调整缩放级别。
我在地图中心有一个标记,我使用 mapController.setCenter(current_location);
我有 10 个或更多的标记以不同的颜色显示在地图上。
预期结果:人的当前位置应始终在中心,我必须调整缩放级别,以便绿色标记将显示在屏幕上(当前位置标记在中心)。
我尝试了什么:
int greenlat = (int) (AppCoordinates.getInstance().latitudelist.get(0) * 1E6); int greenlong = (int) (AppCoordinates.getInstance().longitudelist.get(0) * 1E6); int currentlat = (int) (AppCoordinates.getInstance().getCurrentLatitude() * 1E6); int currentlong = (int) (AppCoordinates.getInstance().getCurrentLongitude() * 1E6);
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
mapController.zoomToSpan((int) (Math.abs(greenlat - currentlat) * 1), (int)(Math.abs(greenlong - currentlong) * 1));// to have some padding on the edges.
mapController.animateTo(new GeoPoint((greenlat + currentlat), (greenlong + currentlong)/2));
我可以在屏幕上显示标记,但我希望当前位置显示在屏幕中心。
【问题讨论】:
-
试试这个方法 map.animateCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(currentlat,currentlong),8)); 8 是缩放范围,可以根据您的要求在给定点进出变化。
-
嗨,Haresh,我使用的是 android.maps,所以没有名为 animateCamera() 的方法 :(
标签: java android google-maps google-maps-api-3