Android 高德定位展示當前位置在地圖上
阿新 • • 發佈:2019-01-24
第一步:加許可權
<!--允許程式開啟網路套接字--> <uses-permission android:name="android.permission.INTERNET" /> <!--允許程式設定內建sd卡的寫許可權--> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!--允許程式獲取網路狀態--> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!--允許程式訪問WiFi網路資訊--> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!--允許程式讀寫手機狀態和身份--> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!--允許程式訪問CellID或WiFi熱點來獲取粗略的位置--> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
第二步:新增配置
<service android:name="com.amap.api.location.APSService"></service> <meta-data android:name="com.amap.api.v2.apikey" android:value="yourKey"> //開發者申請的key </meta-data>
第三步:程式碼設定
private void initMap() { if (mAMap == null) { mAMap = map.getMap(); } myLocationStyle = new MyLocationStyle();//初始化定位藍點樣式類myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATION_ROTATE);//連續定位、且將視角移動到地圖中心點,定位點依照裝置方向旋轉,並且會跟隨裝置移動。(1秒1次定位)如果不設定myLocationType,預設也會執行此種模式。 myLocationStyle.interval(2000); //設定連續定位模式下的定位間隔,只在連續定位模式下生效,單次定位模式下不會生效。單位為毫秒。 mAMap.setMyLocationStyle(myLocationStyle);//設定定位藍點的Style //aMap.getUiSettings().setMyLocationButtonEnabled(true);設定預設定位按鈕是否顯示,非必需設定。 mAMap.setMyLocationEnabled(true);// 設定為true表示啟動顯示定位藍點,false表示隱藏定位藍點並不進行定位,預設是false。 mAMap.moveCamera(CameraUpdateFactory.zoomTo(17)); myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_FOLLOW);//連續定位、且將視角移動到地圖中心點,定位藍點跟隨裝置移動 }
佈局檔案:
<com.amap.api.maps2d.MapView android:id="@+id/map" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" />