当前位置: 代码迷 >> Android >> 百度map开发,怎么让两个地点在可视范围内
  详细解决方案

百度map开发,怎么让两个地点在可视范围内

热度:24   发布时间:2016-04-28 03:56:02.0
百度地图开发,如何让两个地点在可视范围内
随便给出两个地点的经纬度,要求Android手机屏幕上显示出这两个地方,就是说自动计算缩放级数,请问如何处理?


final double midlat = (maxlat+minlat)/2;
final double midlon = (maxlon+minlon)/2;
LatLng ll = new LatLng(midlat, midlon);
double jl = DistanceUtil.getDistance(new LatLng(maxlat, maxlon), new LatLng(minlat, minlon));
MapStatusUpdate u = MapStatusUpdateFactory.newLatLngZoom(ll, calcZoomByDistance(jl));
mBaiduMap.setMapStatus(u);


这是我的相应的代码,两个点的经纬度分别是:(minlat, minlon), (maxlat, maxlon)
计算出中心点是:(midlat, midlon),计算出两个点的距离是:jl = ? (米)
请问如何通过距离计算出所需要的缩放级数:calcZoomByDistance(jl)

需要完成 calcZoomByDistance 函数


------解决思路----------------------

mMapView.setXSpan((int) ((right - left) * 1.1E6));
mMapView.setYSpan((int) ((top - bottom) * 1.1E6));

right是你两个地点中较大经度,left是你两个地点中较小的经度,top是你两个地点中较大的纬度,bottom是你两个地点中较小的纬度。具体显示可自己调整。
------解决思路----------------------
获取当前缩放度,然后根据比例尺和距离计算应该缩放的比例。
------解决思路----------------------
1楼正解!!
  相关解决方案