我的地图视图包含许多精确点。当用户进行该活动时,应该将地图放大到这样的级别,正确的 3 品脱是可见的。地图不应该或多或少地缩放,它应该正好是三个。我知道缩放级别地图可以通过代码在 0 到 21 之间变化。但是有没有办法设置缩放级别,使得在两种情况下都可以看到精确的 3 个针脚,如果针脚远或近正确 3 应该是可见的吗? API中有什么功能可以这样设置吗?
问问题
688 次
1 回答
2
点是您希望在地图上可见的所有地理点。
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));
}
于 2012-09-21T11:33:32.533 回答