mMapController.animateTo(mAllSpots.get(0));
mMapController.setCenter(mAllSpots.get(0));
mMapController.setZoom(getZoomSize(mAllSpots));
有11个不同的点,我想在'mapview'上显示它们,同时,我想看到'mapview'上的所有11个点。那么适当的缩放级别是什么?感谢。
答案 0 :(得分:1)
您可能应该使用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());
答案 1 :(得分:0)
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;
现在得到minlat,minlng和maxlat,maxlng然后减去它,这个点被矩形点绑定为矩形并找到这个矩形的中心点
minlat = 20.212232,minlng = 68.802093,maxlat = 22.212232,maxlng = 68.889898
latspan = maxlat - minlat,lngspan = maxlng - minlng
你还需要转换为geopoint乘以1e6,如latspan * 1e6和lngspan * 1e6,现在传递给函数