0
我的地图视图包含许多精确点。当用户进行该活动时,地图应该放大到这样的水平,正确的3品脱可见。地图不应该放大或多或少,它应该是三个。我知道缩放地图的水平可以通过代码在0到21之间变化。但是有没有什么办法可以设置缩放水平,使得在两种情况下都可以看到确切的3个针脚,如果针脚远或接近正确3应该是可见的?API中是否有任何功能来设置?如何设置地图视图的缩放级别,使三个针脚可见?
我的地图视图包含许多精确点。当用户进行该活动时,地图应该放大到这样的水平,正确的3品脱可见。地图不应该放大或多或少,它应该是三个。我知道缩放地图的水平可以通过代码在0到21之间变化。但是有没有什么办法可以设置缩放水平,使得在两种情况下都可以看到确切的3个针脚,如果针脚远或接近正确3应该是可见的?API中是否有任何功能来设置?如何设置地图视图的缩放级别,使三个针脚可见?
点数是您希望在地图上可见的所有地点。
private void Zoom() {
int minLatitude = Integer.MAX_VALUE;
int maxLatitude = Integer.MIN_VALUE;
int minLongitude = Integer.MAX_VALUE;
int maxLongitude = Integer.MIN_VALUE;
for (GeoPoint p : points) {
int lati = p.getLatitudeE6();
int lon = p.getLongitudeE6();
maxLatitude = Math.max(lati, maxLatitude);
minLatitude = Math.min(lati, minLatitude);
maxLongitude = Math.max(lon, maxLongitude);
minLongitude = Math.min(lon, minLongitude);
}
mapController.zoomToSpan(Math.abs(maxLatitude - minLatitude),
Math.abs(maxLongitude - minLongitude));
mapController.animateTo(new GeoPoint((maxLatitude + minLatitude)/2,
(maxLongitude + minLongitude)/2));
}