日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android接入高德地图SDK 二显示小蓝点

發布時間:2024/3/26 Android 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android接入高德地图SDK 二显示小蓝点 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

生成簽名文件

在工具欄點擊 Build 然后點擊 Generate Signed Bundle / APK…

選擇 APK

點擊 Next

我這是新建完了,如果第一次點Create new…

記住保存路徑和你設的密碼,點擊OK

點擊Next

選擇release 點擊Finish

獲取發布版安全碼SHA1

打開Android Studio的Terminal工具

cd 進入你剛剛保存的簽名文件路徑
keytool -v -list -keystore 簽名文件名
輸入你設置的密碼

配置AndroidManifest.xml

<!--允許訪問網絡,必選權限--><uses-permission android:name="android.permission.INTERNET" /><!--允許獲取粗略位置,若用GPS實現定位小藍點功能則必選--><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><!--允許獲取設備和運營商信息,用于問題排查和網絡定位,若無gps但仍需實現定位小藍點功能則此權限必選--><uses-permission android:name="android.permission.READ_PHONE_STATE" /><!--允許獲取網絡狀態,用于網絡定位,若無gps但仍需實現定位小藍點功能則此權限必選--><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><!--允許獲取wifi網絡信息,用于網絡定位,若無gps但仍需實現定位小藍點功能則此權限必選--><uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /><!--允許獲取wifi狀態改變,用于網絡定位,若無gps但仍需實現定位小藍點功能則此權限必選--><uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /><!--允許寫入擴展存儲,用于數據緩存,若無此權限則寫到私有目錄--><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><!--允許寫設備緩存,用于問題排查--><uses-permission android:name="android.permission.WRITE_SETTINGSS" /><!--允許讀設備等信息,用于問題排查--><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><!--用于訪問GPS定位--><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><!--用于申請調用A-GPS模塊--><uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/><!--如果設置了target >= 28 如果需要啟動后臺定位則必須聲明這個權限--><uses-permission android:name="android.permission.FOREGROUND_SERVICE"/><!--如果您的應用需要后臺定位權限,且有可能運行在Android Q設備上,并且設置了target>28,必須增加這個權限聲明--><uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>

在application標簽中添加

<service android:name="com.amap.api.location.APSService" />

實現定位藍點

MyLocationStyle myLocationStyle;
myLocationStyle = new MyLocationStyle();//初始化定位藍點樣式類myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATION_ROTATE);//連續定位、且將視角移動到地圖中心點,定位點依照設備方向旋轉,并且會跟隨設備移動。(1秒1次定位)如果不設置myLocationType,默認也會執行此種模式。
myLocationStyle.interval(2000); //設置連續定位模式下的定位間隔,只在連續定位模式下生效,單次定位模式下不會生效。單位為毫秒。
myLocationStyle.showMyLocation(true);
aMap.setMyLocationStyle(myLocationStyle);//設置定位藍點的Style
aMap.getUiSettings().setMyLocationButtonEnabled(true);//設置默認定位按鈕是否顯示,非必需設置。
aMap.setMyLocationEnabled(true);// 設置為true表示啟動顯示定位藍點,false表示隱藏定位藍點并不進行定位,默認是false。

運行結果


模擬器可能會定位到舊金山附近
真機運行正常

可能遇到的問題—真機運行地圖顯示白屏

詳情見 https://lbs.amap.com/api/android-sdk/guide/create-project/dev-attention#t2
在onCreate中添加

AMapLocationClient.updatePrivacyShow(this,true,true); AMapLocationClient.updatePrivacyAgree(this,true);

MainActivity源碼

package com.example.myapplication;import android.os.Bundle; import com.amap.api.location.AMapLocationClient; import com.amap.api.maps.AMap; import com.amap.api.maps.MapView; import com.amap.api.maps.model.MyLocationStyle;public class MainActivity extends CheckPermissionsActivity {private MapView mMapView = null;private AMap aMap;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);AMapLocationClient.updatePrivacyShow(this,true,true);AMapLocationClient.updatePrivacyAgree(this,true);setContentView(R.layout.activity_main);//定義了一個地圖viewmMapView = (MapView) findViewById(R.id.map);mMapView.onCreate(savedInstanceState);// 此方法須覆寫,虛擬機需要在很多情況下保存地圖繪制的當前狀態。//初始化地圖控制器對象if (aMap == null) {aMap = mMapView.getMap();}MyLocationStyle myLocationStyle;myLocationStyle = new MyLocationStyle();//初始化定位藍點樣式類myLocationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATION_ROTATE);//連續定位、且將視角移動到地圖中心點,定位點依照設備方向旋轉,并且會跟隨設備移動。(1秒1次定位)如果不設置myLocationType,默認也會執行此種模式。myLocationStyle.interval(2000); //設置連續定位模式下的定位間隔,只在連續定位模式下生效,單次定位模式下不會生效。單位為毫秒。myLocationStyle.showMyLocation(true);aMap.setMyLocationStyle(myLocationStyle);//設置定位藍點的StyleaMap.getUiSettings().setMyLocationButtonEnabled(true);//設置默認定位按鈕是否顯示,非必需設置。aMap.setMyLocationEnabled(true);// 設置為true表示啟動顯示定位藍點,false表示隱藏定位藍點并不進行定位,默認是false。}@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();}@Overrideprotected void onSaveInstanceState(Bundle outState) {super.onSaveInstanceState(outState);//在activity執行onSaveInstanceState時執行mMapView.onSaveInstanceState (outState),保存地圖當前的狀態mMapView.onSaveInstanceState(outState);} }

總結

以上是生活随笔為你收集整理的Android接入高德地图SDK 二显示小蓝点的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。