百度地图,各种问题解决汇总
来源:互联网 发布:vb串口通信及编程实例 编辑:程序博客网 时间:2024/05/17 07:15
本文转自:https://www.cnblogs.com/mltx/p/6943475.html
工作过程中,用到了百度地图,出现了一些问题。把各种问题进行一个汇总,很多都是网友智慧。
1、如何获取地图中心点的经纬度?
移动、放大、缩小之后,需要获取地图的中心点位置。其实很简单
1、获取到一个百度map的对象
mMapView = (MapView) findViewById(R.id.bmapView);
mBaiduMap = mMapView.getMap();
2、设置一个监听
view.getMap().setOnMapStatusChangeListener(
this
);
该监听,地图放大缩小都可以收到。
3、在回调的方法中处理
@Override
public
void
onMapStatusChangeFinish(MapStatus mapStatus)
{
LatLng latLng = mapStatus.target;
LogUtil.i(
"onMapStatusChangeFinish"
,
""
+ latLng.latitude,
""
+ latLng.longitude);
}
在onMapStatusChangeFinish方法里面处理即可mapStatus.target就是中心点的坐标。
2、如何在地图中心点绘制一个图标,固定不动?
效果类似市面上那些软件的效果,如摩拜、滴滴之类的。
我最开始是根据问题1,可以得到中心点坐标,在回调里面刷新一下。
但这样会有一个效果就是,会有一个移动过程,和这些软件里面的不一样。
最后是在论坛上面看到其他人的思路:在地图上覆盖一层layout,和地图的view重合,然后把图标add在上面的layout里面就解决了。
3、图标中心点和地图中心点不重合
根据2,做出之后,大体上看是没什么问题的。但恰好,我是最开始按问题1方式做的代码没有删掉。
这样就发现一个问题,根据问题2做出的图标和根据问题1做出的图标居然不重合。
经过分析,是我自己的失误。我是直接设置图标在layout的中心位置,没考虑到图标的是长宽的,在layout里面的坐标是指的左上角。地图里面却不是
在layout里面考虑一下图标大小,修正一下坐标就可以了。
4、获取LocationClient,多次定位
我的需求是,我调用一次百度地图定位就返回一次就好,不要一直在后台频繁更新。因为没有这个需求,这样会消耗流量和电量。
本来这个是很简单的,但是我强迫症,我希望是不要很次获取一下定位就new一个LocationClient,希望可以多次使用。
这是前提,使用的时候,发现第一次是好使的。但第二次就不触发回调了,就在放弃,大不了每次都new的时候,发现百度地图还有一个方法
那就是,在后面start(),加上requestLocation()即可。
- 百度地图,各种问题解决汇总
- 地图对接汇总(百度地图)
- 百度地图问题汇总
- 百度地图汇总
- 百度地图坑汇总
- N81各种问题解决汇总
- 百度地图地位162问题解决
- 百度地图api各种问题
- Android百度地图知识汇总
- Android百度地图相关内容汇总
- Android百度地图相关内容汇总
- Android百度地图相关内容汇总
- Android百度地图相关内容汇总
- Android百度地图相关内容汇总
- PHP版:地图对接汇总(百度地图)
- 百度地图滑动冲突的问题解决
- iOS 百度地图当前位置方向问题解决方案
- 百度地图 java.lang.UnsatisfiedLinkError 问题解决
- MessageFormat.format使用方法
- Linux 是否已征服云端?
- 【转】CNN卷积神经网络_ GoogLeNet 之 Inception(V1-V4)
- RIOT-Nucleo-144 系列板的运行
- c#之static关键字
- 百度地图,各种问题解决汇总
- Linux系统介绍(四)IO重定向与管道
- hibernate总结
- jqueryeasyui 时间戳格式
- linux :grep
- (1)Java虚拟机:Java内存区域与内存溢出异常
- 7-LTE QoS: SDF and EPS Bearer QoS
- 日常站点开发常用到的几个JavaScript方法
- Ueditor抓取远程图片