在实现定位到我的位置时,首先要开启定位图层,可以使用com.baidu.mapapi.map.BaiduMap 对象的setMyLocationEnabled()方法实现。该方法的语法格式如下:
Publicfinal void set MyLocationEnabled(boolean enabled)
其中,enabled参数用于指定是否允许定位图层,值为true时表示允许,否则为不允许。
开启定位图层的代码如下:
mBaiduMap.setMyLocationEnabled(true);
然后创建MyLocationData对象,用于构造定位数据,包括GPS定位时方向角度、纬度坐标、经度坐标、定位精度和时速等。例如,构造定位数据,指定GPS定位时方向角度为100、坐标位置为当前位置,可以使用下面的代码。
01 MyLocationData locData = new MyLocationData.Builder().
02 accuracy(location.getAccuracy()) //设置精度
03 .direction(100) //此处设置开发者获取到的方向信息,顺时针0-360
04 .latitude(location.getLatitude()) //设置纬度坐标
05 .longitude(location.getLongitude()) //设置经度坐标
06 .build();
说明:此处代码将使用Android原有定位方法。
再设置定位数据,并配置定位图层的一些信息。代码如下:
01 mBaiduMap.setMyLocationData(locData);
02 //设置自定义定位图标
03 BitmapDescriptormCurrentMarker = BitmapDescriptorFactory
04 .fromResource(R.drawable.icon_geo);
05 mCurrentMode = MyLocationConfiguration.LocationMode.NORMAL; //设置定位模式
06 //位置构造方式,将定位模式,定义图标添加其中
07 MyLocationConfiguration con