天在弄百度地圖的時候,發(fā)現(xiàn)怎么不顯示圖標咧,剛開始沒注意,后來自定義的時候也還是不現(xiàn)實出來,問題出現(xiàn)在哪。。??窗俣鹊貓D開發(fā)API
MyLocationConfiguration通過重載構(gòu)造方法 :
MyLocationConfiguration(
????LocationMode mode, ? boolean enableDirection,Descriptor?????customMarker,
????int accuracyCircleFillColor,? int accuracyCircleStrokeColor)
emmm,沒毛病啊,我也是這樣寫的。

后來看到百度定位圖層的時候,把經(jīng)緯度的位置寫錯了。

所以你的圖片可能顯示到了經(jīng)度跟緯度相同的那個位置上。
所以接下來擼一下思路:
自定義一個監(jiān)聽器繼承 BDAbstractLocationListener 實現(xiàn)回調(diào)方法onReceiveLocation,獲取經(jīng)緯度位置location.getLatitude();location.getLongitude();然后設(shè)置定位數(shù)據(jù)MyLocationData,然后設(shè)置自定義圖標。下面直接來代碼吧
private class MyLocationListenerextends BDAbstractLocationListener {
@Override
? ? ? ? public void onReceiveLocation(BDLocation location) {
//更新經(jīng)緯度
? ? ? ? ? ? mLatitude = location.getLatitude();
? ? ? ? ? ? mLongtitude = location.getLongitude();
? ? ? ? ? ? //設(shè)置定位數(shù)據(jù)
? ? ? ? ? ? MyLocationData data =new MyLocationData.Builder()//
? ? ? ? ? ? ? ? ? ? .accuracy(location.getRadius())//
? ? ? ? ? ? ? ? ? ? .latitude(mLatitude)//
? ? ? ? ? ? ? ? ? ? .longitude(mLongtitude)//
? ? ? ? ? ? ? ? ? ? .build();
? ? ? ? ? ? mBaiduMap.setMyLocationData(data);
? ? ? ? ? ? //設(shè)置自定義圖標
? ? ? ? ?? MyLocationConfiguration config =new MyLocationConfiguration(MyLocationConfiguration.LocationMode.NORMAL,true,mIconLocation);
? ? ? ? ? ? //在當前位置顯示圖標
? ? ? ? ? ? mBaiduMap.setMyLocationConfiguration(config);
? ? ? ? ? ? //第一次定位,將當前位置設(shè)置到中心點的位置
? ? ? ? ? ? if (firstIn) {
????????????????centerToMyLocation();
? ? ? ? ? ? ? ? firstIn =false;
? ? ? ? ? ? }
}
}
//記錄經(jīng)緯度
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");
? ? //設(shè)置需要得到地址
? ? option.setIsNeedAddress(true);
? ? option.setOpenGps(true);
? ? //每隔1秒請求一次
? ? option.setScanSpan(1000);
? ? mLocationClient.setLocOption(option);
? ? //初始化圖標
? ? mIconLocation = BitmapDescriptorFactory.fromResource(R.drawable.arrow);
}
這個問題的前提是我的地圖已經(jīng)顯示出來了的,只是一個粗心的問題,記錄一下

