百度地图之不显示图标

2018-12-27  本文已影响0人  左右_5536

天在弄百度地图的时候,发现怎么不显示图标咧,刚开始没注意,后来自定义的时候也还是不现实出来,问题出现在哪。。。看百度地图开发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);

}

这个问题的前提是我的地图已经显示出来了的,只是一个粗心的问题,记录一下

上一篇 下一篇

猜你喜欢

热点阅读