如何在'mapview'上设置合适的缩放级别?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在'mapview'上设置合适的缩放级别?相关的知识,希望对你有一定的参考价值。
mMapController.animateTo(mAllSpots.get(0));
mMapController.setCenter(mAllSpots.get(0));
mMapController.setZoom(getZoomSize(mAllSpots));
有11个不同的点,我想在'mapview'上显示它们,同时,我想看到'mapview'上的所有11个点。那么适当的缩放级别是什么?谢谢。
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,mining和maxalt,maxing然后减去它,这个点被矩形点绑定为矩形并找到这个矩形的中心点
minlat = 20.212232,minlng = 68.802093,maxlat = 22.212232,maxlng = 68.889898
latspan = maxlat - minlat,lngspan = maxlng - minlng
你也需要转换成一个地方点乘以1e6,如latspan * 1e6和lngspan * 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());
以上是关于如何在'mapview'上设置合适的缩放级别?的主要内容,如果未能解决你的问题,请参考以下文章