百度地图之不显示图标
天在弄百度地图的时候,发现怎么不显示图标咧,刚开始没注意,后来自定义的时候也还是不现实出来,问题出现在哪。。。看百度地图开发API
MyLocationConfiguration通过重载构造方法 :
MyLocationConfiguration(
LocationMode mode, boolean enableDirection,Descriptor customMarker,
int accuracyCircleFillColor, int accuracyCircleStrokeColor)
emmm,没毛病啊,我也是这样写的。

后来看到百度定位图层的时候,把经纬度的位置写错了。

所以你的图片可能显示到了经度跟纬度相同的那个位置上。
所以接下来撸一下思路:
自定义一个监听器继承 BDAbstractLocationListener 实现回调方法onReceiveLocation,获取经纬度位置location.getLatitude();location.getLongitude();然后设置定位数据MyLocationData,然后设置自定义图标。下面直接来代码吧
private class MyLocationListenerextends BDAbstractLocationListener {
@Override
public void onReceiveLocation(BDLocation location) {
//更新经纬度
mLatitude = location.getLatitude();
mLongtitude = location.getLongitude();
//设置定位数据
MyLocationData data =new MyLocationData.Builder()//
.accuracy(location.getRadius())//
.latitude(mLatitude)//
.longitude(mLongtitude)//
.build();
mBaiduMap.setMyLocationData(data);
//设置自定义图标
MyLocationConfiguration config =new MyLocationConfiguration(MyLocationConfiguration.LocationMode.NORMAL,true,mIconLocation);
//在当前位置显示图标
mBaiduMap.setMyLocationConfiguration(config);
//第一次定位,将当前位置设置到中心点的位置
if (firstIn) {
centerToMyLocation();
firstIn =false;
}
}
}
//记录经纬度
private double mLatitude;
private double mLongtitude;
//自定义定位图标
private BitmapDescriptormIconLocation;
private void initLocation() {//初始化定位的方法
mLocationClient =new LocationClient(this);
myLocationListener =new MyLocationListener();
mLocationClient.registerLocationListener(myLocationListener);
LocationClientOption option =new LocationClientOption();
option.setCoorType("bd09ll");
//设置需要得到地址
option.setIsNeedAddress(true);
option.setOpenGps(true);
//每隔1秒请求一次
option.setScanSpan(1000);
mLocationClient.setLocOption(option);
//初始化图标
mIconLocation = BitmapDescriptorFactory.fromResource(R.drawable.arrow);
}
这个问题的前提是我的地图已经显示出来了的,只是一个粗心的问题,记录一下

