/***** * 定位结果回调,重写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())); }