移动、放大、缩小之后,需要获取地图的中心点位置。其实很简单迪丽热巴身高
1、获取到一个百度map的对象
12mMapView = (MapView) findViewById(R.id.bmapView);mBaiduMap = Map();
2、设置一个监听
Map().setOnMapStatusChangeListener(this);
男士香水品牌 该监听,地图放大缩小都可以收到。
3、在回调的方法中处理
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()即可。
发布评论