百度地图开发实现点击地图添加Marker并获取地址信息

public class MapActivity extends Activity {private MapView mMapView = null;private BaiduMap mBaiduMap;private BitmapDescriptor bitmap;private String address= "";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);// 在使用SDK各组件之前初始化context信息,传入ApplicationContext// 注意该方法要再setContentView方法之前实现SDKInitializer.initialize(getApplicationContext());setContentView(R.layout.activity_map);// 获取地图控件引用mMapView = (MapView) findViewById(R.id.bmapView);mBaiduMap = mMapView.getMap();//设置是否显示比例尺控件mMapView.showScaleControl(false);//设置是否显示缩放控件mMapView.showZoomControls(false);// 删除百度地图LoGomMapView.removeViewAt(1);// 设置marker图标bitmap = BitmapDescriptorFactory.fromResource(R.drawable.maker);mBaiduMap.setOnMapClickListener(new OnMapClickListener() {@Overridepublic boolean onMapPoiClick(MapPoi arg0) {// TODO Auto-generated method stubreturn false;}//此方法就是点击地图监听@Overridepublic void onMapClick(LatLng latLng) {//获取经纬度double latitude = latLng.latitude;double longitude = latLng.longitude;System.out.println("latitude=" + latitude + ",longitude=" + longitude);//先清除图层mBaiduMap.clear();// 定义Maker坐标点LatLng point = new LatLng(latitude, longitude);// 构建MarkerOption,用于在地图上添加MarkerMarkerOptions options = new MarkerOptions().position(point).icon(bitmap);// 在地图上添加Marker,并显示mBaiduMap.addOverlay(options);//实例化一个地理编码查询对象GeoCoder geoCoder = GeoCoder.newInstance();//设置反地理编码位置坐标ReverseGeoCodeOption op = new ReverseGeoCodeOption();op.location(latLng);//发起反地理编码请求(经纬度->地址信息)geoCoder.reverseGeoCode(op);geoCoder.setOnGetGeoCodeResultListener(new OnGetGeoCoderResultListener() {@Overridepublic void onGetReverseGeoCodeResult(ReverseGeoCodeResult arg0) {//获取点击的坐标地址address = arg0.getAddress();System.out.println("address="+address);}@Overridepublic void onGetGeoCodeResult(GeoCodeResult arg0) {}});}});}@Overrideprotected void onDestroy() {super.onDestroy();// 在activity执行onDestroy时执行mMapView.onDestroy(),,实现地图生命周期管理mMapView.onDestroy();}@Overrideprotected void onResume() {super.onResume();// 在activity执行onResume时执行mMapView. onResume (),实现地图生命周期管理mMapView.onResume();}@Overrideprotected void onPause() {super.onPause();// 在activity执行onPause时执行mMapView. onPause (),实现地图生命周期管理mMapView.onPause();}}

问候不一定要慎重其事,但一定要真诚感人

百度地图开发实现点击地图添加Marker并获取地址信息

相关文章:

你感兴趣的文章:

标签云: