mMapController.animateTo(mAllSpots.get(0));
mMapController.setCenter(mAllSpots.get(0));
mMapController.setZoom(getZoomSize(mAllSpots));
有11个不同点,我想在'mapview'上显示它们,同时我想看'mapview'上的所有11个点。那么什么是合适的缩放级别?谢谢。如何在'mapview'上设置合适的缩放级别?
mMapController.animateTo(mAllSpots.get(0));
mMapController.setCenter(mAllSpots.get(0));
mMapController.setZoom(getZoomSize(mAllSpots));
有11个不同点,我想在'mapview'上显示它们,同时我想看'mapview'上的所有11个点。那么什么是合适的缩放级别?谢谢。如何在'mapview'上设置合适的缩放级别?
mMapController.animateTo(mAllSpots.get(0));
此1是用于指向装置平移的特定地图/限定位置为给定的参数,
mMapController.setCenter(mAllSpots.get(0));
此图1是用于根据给定的参数作为位置值为中心地图
mMapController.setZoom(getZoomSize(mAllSpots));
这个1是套你需要使用此方法
mMapController.zoomToSpan(latSpan, longSpan);
缩放级别
这里的latSpan和longSpan是由maxlat-minlat和maxlng-minlng定义的,首先你需要找到minlat,minlng和maxlat,maxlng,而不是将它解释为任何你必须通过的值,将作为缩放,动画,中心一起
编辑
你需要找到的MapView这会给你的maplatspan喜欢假设你的积分获得,
p1 = 20.212323,68.803209;
p2 = 20.222342,68.889898;
p3 = 22.212232,68.802093;
现在明白了分LAT,minlng和maxlat,maxlng然后。减去它,这点是必然的rect点作为矩形,并找到作为当前矩形的中心点
minlat = 20.212232,minlng = 68.802093,maxlat = 22.212232,maxlng = 68.889898
latspan = maxlat - minlat,lngspan = maxlng - minlng
还需要转换成的GeoPoint与像latspan * 1E6和lngspan * 1E6 1E6到乘以现在传递给函数
你应该使用ItemizedOverlay实现来显示你的观点。如果你这样做,你也可以使用这些方便的方法为你做所有的工作:
// Sets zoom to a level that will show all of your points.
mapView.getController().zoomToSpan(itemizedOverlay.getLatSpanE6(),
itemizedOverlay.getLonSpanE6());
// Animates to center (mean, mean) of points.
mapView.getController().animateTo(itemizedOverlay.getCenter());
非常感谢!但是,当我用这样的代码@覆盖 \t保护无效在onStart(){ \t \t mMapController.zoomToSpan它不工作(mMapView.getLatitudeSpan(), \t \t \t \t mMapView.getLongitudeSpan()); \t \t super.onStart(); \t}你能给我一些建议吗? – stream 2012-01-16 08:37:49
检查更新回答 – Pratik 2012-01-16 08:49:29
尼斯。我已经解决了这个问题。谢谢。 – stream 2012-01-16 09:42:30