百度LBS 常用问题总结

1、根据地图点,进行自动缩放地图的举例




已知地图上的两点P1及P2
  1.                 //求中心点
  2.                 int centerLatE6=(int)Math.round(((p1.lat+p2.lat)/2)*1e6);
  3.                 int centerLonE6=(int)Math.round(((p1.lon+p2.lon)/2)*1e6);
  4.                 GeoPoint center=new GeoPoint(centerLatE6, centerLonE6);
  5.                 //求纬度范围及经度范围
  6.                 int latSpanE6=Math.abs((int)((p1.lat - p2.lat)* 1e6));
  7.                 int lonSpanE6=Math.abs((int)((p1.lon - p2.lon)* 1e6));
  8.                 //缩放到指定范围,此时中心点可能不在P1及P2点的中心
  9.                 mMapController.zoomToSpan(latSpanE6,lonSpanE6);
  10.                 //中心位置移动到P1及P2的中心,以在当前视图范围内显示P1和P2
  11.                 mMapController.animateTo(center);
复制代码

说明:因为地图并不是无级缩放的,这样做完操作后,P1及P2点有可能出现在地图可视范围的边上,或是在地图可视范围之外,离边界不远的地方,所以算出的latSpanE6lonSpanE6可能要加上一个常量。以尽量让P1P2点落在边界以内。

当在某一个图层显示的时候自动缩放级别的时候,可以直接使用overlay的getlatSpan以及getLongSpan函数,来进行

zoomToSpan的快速设置。

2、进行路径导航的时候mSearch.drivingSearch 失效,异步回调函数MKSearchListener:没有响应

跟踪了半天才发现原来代码中,导航界面是 跳转界面实现的,原界面在onPause里面有 对mapmanager进行stop的动作。


3、MapView地图显示错位,记得加上屏幕自动适配以及其他的一堆DEMO中的权限

    <supports-screens android:largeScreens="true"  
            android:normalScreens="true"  
            android:smallScreens="true"  
            android:resizeable="true"  
            android:anyDensity="true"/>  


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值