/*****
* 定位结果回调,重写onReceiveLocation方法,可以直接拷贝如下代码到自己工程中修改
*/
private BDLocationListener mListener = new BDLocationListener() {
@Override
public void onReceiveLocation(final BDLocation location) {
MyLocationData locData = new MyLocationData.Builder().accuracy(location.getRadius())
// 此处设置开发者获取到的方向信息,顺时针0-360
.direction(100).latitude(location.getLatitude()).longitude(location.getLongitude()).build();
Map.setMyLocationData(locData);
runOnUiThread(new Runnable() {
@Override
public void run() {
tv_addstr.setText(location.getAddrStr());
LatLnginfo(location.getLatitude(),location.getLongitude());
}
});
}
@Override
public void onConnectHotSpotMessage(String s, int i) {
}
};
private void LatLnginfo(double Latitude,double Longitude){
LatLng ll = new LatLng(Latitude, Longitude);
BitmapDescriptor bitmap = BitmapDescriptorFactory
.fromResource(R.mipmap.icon_geo);
//构建MarkerOption,用于在地图上添加Marker
OverlayOptions option = new MarkerOptions()
.position(ll)
.icon(bitmap);
//在地图上添加Marker,并显示
Map.addOverlay(option);
MapStatus.Builder builder = new MapStatus.Builder();
builder.target(ll).zoom(18.0f);
Map.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build()));
}
|