Android百度地圖開發實現點選地圖新增Marker並獲取地址資訊
概述:
使用前下載最新的庫檔案,將liblocSDK4.so檔案拷貝到libs/armeabi目錄下,及locSDK4.0.jar檔案拷貝到工程的libs目錄下
- BaiduMap.OnMapClickListener 地圖單擊事件監聽介面
- GeoCoder 地理編碼查詢介面
- reverseGeoCode(ReverseGeoCodeOption option) 發起反地理編碼請求(經緯度->地址資訊)
- setOnGetGeoCodeResultListener(OnGetGeoCoderResultListener listener) 設定查詢結果監聽者
1.首先在佈局檔案新增mapview
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:top="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <com.baidu.mapapi.map.MapView android:id="@+id/bmapView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:clickable="true" /> </LinearLayout>
2.MainActivity裡新增使用
public class MapActivity extends Activity { private MapView mMapView = null; private BaiduMap mBaiduMap; private BitmapDescriptor bitmap; private String address= ""; @Override protected 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); // 刪除百度地圖LoGo mMapView.removeViewAt(1); // 設定marker圖示 bitmap = BitmapDescriptorFactory.fromResource(R.drawable.maker); mBaiduMap.setOnMapClickListener(new OnMapClickListener() { @Override public boolean onMapPoiClick(MapPoi arg0) { // TODO Auto-generated method stub return false; } //此方法就是點選地圖監聽 @Override public 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,用於在地圖上新增Marker MarkerOptions 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() { @Override public void onGetReverseGeoCodeResult(ReverseGeoCodeResult arg0) { //獲取點選的座標地址 address = arg0.getAddress(); System.out.println("address="+address); } @Override public void onGetGeoCodeResult(GeoCodeResult arg0) { } }); } }); } @Override protected void onDestroy() { super.onDestroy(); // 在activity執行onDestroy時執行mMapView.onDestroy(),實現地圖生命週期管理 mMapView.onDestroy(); } @Override protected void onResume() { super.onResume(); // 在activity執行onResume時執行mMapView. onResume (),實現地圖生命週期管理 mMapView.onResume(); } @Override protected void onPause() { super.onPause(); // 在activity執行onPause時執行mMapView. onPause (),實現地圖生命週期管理 mMapView.onPause(); } }
相關文章
- 百度地圖 批量新增marker和資訊視窗地圖
- 高德地圖,只有部分marker顯示InfoWindow並可點選地圖
- 百度地圖開發-引入地圖SDK並配置 02地圖
- 百度地圖開發-實現離線地圖功能 05地圖
- 百度API實現地圖示點並測距API地圖
- 百度地圖開發-在地圖上實現路線導航 09地圖
- 獲取地圖的資訊到input裡地圖
- 百度地圖開發-顯示實時位置資訊 04地圖
- 百度地圖開發-在地圖上檢索資料 08地圖
- 微信小程式呼叫騰訊地圖獲取jsonp資料 解析詳細地址資訊微信小程式地圖JSON
- 獲取使用者精準地理位置資訊(百度地圖)地圖
- 百度地圖開發-與地圖的互動功能 06地圖
- 百度地圖開發-顯示地圖預設介面 03地圖
- js根據經緯度,獲取省市區。(百度地圖逆地址解析)JS地圖
- 百度地圖:根據位置獲取座標地圖
- 百度地圖-大資料量點實時更新地圖大資料
- Android開發百度地圖指南針消失問題Android地圖
- 基於隨機定位的地圖資訊獲取方式隨機地圖
- 地圖開發筆記(一):百度地圖介紹、使用和Qt內嵌地圖Demo地圖筆記QT
- React,Echarts實現2D地圖並且支援地圖下鑽ReactEcharts地圖
- 百度地圖獲取多行政區域圍欄地圖
- java百度地圖介面呼叫獲取經緯度Java地圖
- Android Studio匯入並顯示國內地圖SDK步驟對比以及需要注意的點(百度地圖和高德地圖為例)Android地圖
- Android Studio 百度地圖導航Android地圖
- 地圖資料採集,包括百度地圖採集,高德地圖採集,360地圖採集地圖
- 安卓獲取百度地圖sha1問題安卓地圖
- 百度地圖框選標註座標點功能地圖
- 【騰訊地圖】騰訊地圖定位解析地圖
- 騰訊地圖Flutter業務實踐——地圖SDK Flutter外掛實現(一)地圖Flutter
- 百度地圖sn驗證golang實現地圖Golang
- 百度地圖、高德地圖收藏夾位置資訊匯出小工具分享地圖
- 百度地圖開發-繪製點線提示框 07地圖
- 百度地圖JavaScript API 學習之地址解析地圖JavaScriptAPI
- 如何實現OSM地圖本地釋出並自定義配圖地圖
- js呼叫百度地圖介面繪製任意多邊形並獲取每個點的經緯度等JS地圖
- Android 百度地圖InfoWindow 出現重疊的問題Android地圖
- 微信小程式 - 輸入起點、終點獲取距離並且進行路線規劃(騰訊地圖)微信小程式地圖
- 騰訊地圖SDK Flutter外掛實現地圖Flutter
- 百度地圖API開發的快速使用和新增大量座標點的幾種方法地圖API