1. android 百度地圖知道經緯度怎麼獲取地址
1、設置AndroidManfest.xml許可權
View Code
<!-- 訪問網路的許可權 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 訪問精確位置的許可權 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- 訪問網路狀態的許可權 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 訪問WIFI網路狀態的許可權 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- 改變WIFI網路狀態的許可權 -->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<!-- 讀寫存儲卡的許可權 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- 讀取電話狀態的許可權 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
2、配置jar包
3、初始化設置BMapManager
View Code
mapManager = new BMapManager(this);
mapManager.init("",
new MyMKGeneralListener());
// 設置通知間隔:iMaxSecond - 最大通知間隔,單位:秒;iMinSecond - 最小通知間隔,單位:秒
mapManager.getLocationManager().setNotifyInternal(20, 5);
4、獲取手機經緯度,並顯示地址信息
View Code
mapManager.getLocationManager().requestLocationUpdates(
new MyLocationListener());
mapManager.start();
在LocationListener中獲取經緯度
View Code
class MyLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location arg0) {
int jin = (int) (arg0.getLatitude()*1000000);
int wei = (int) (arg0.getLongitude()*1000000);
tv1.setText("經度:" + jin + ",緯度:" + wei);
MKSearch search = new MKSearch();
search.init(mapManager, new MyMKSearchListener());
search.reverseGeocode(new GeoPoint(jin, wei));
}
}
在MKSearch介面中進行地址轉化
2. 怎麼在android百度地圖通過經緯度來定位並且顯示出地圖位置
可以參考如下內容:
使用Android自帶的LocationManager和Location獲取位置的時候,經常會有獲取的location為null的情況,並且操作起來也不是很方便,在這個Demo里我使用了網路地圖API中的定位SDK,可以一次性獲取當前位置經緯度以及詳細地址信息,還可以獲取周邊POI信息,同時可以設定位置通知點,當到達某一位置時,發出通知信息等方式來告知用戶。jar包下載以及官方文檔請參照:網路定位SDK,前提是需要注冊網路開發者賬號。
下面來看看定位的基本原理,目前,定位SDK可以通過GPS、基站、Wifi信號進行定位。基本定位流程如下圖所示,當應用程序向定位SDK發起定位請求時,定位SDK會根據當前的GPS、基站、Wifi信息生成相對應的定位依據。然後定位SDK會根據定位依據來進行定位。如果需要,定位SDK會向定位伺服器發送網路請求。定位伺服器會根據請求的定位依據推算出對應的坐標位置,然後根據用戶的定製信息,生成定位結果返回給定位SDK。
3. android 如何通過百度地圖獲取當前位置的經緯度
目前android的網路地圖還沒有辦法獲取經緯度,可以通過另外的安卓軟體獲取,比如「GPS工具箱"這個安卓應用就可以。
4. Android 百度地圖 根據地址 查到其經緯度,能有比較簡單代碼嗎
mMKSearch.geocode(key, city);//地址解析
返回結果在都在MKSearchListener里的onGetAddrResult方法中,具體區分是逆地址解析的結果還是地址解析的結果需要判斷MKAddrInfo中的type欄位,type欄位為MKAddrInfo.MK_GEOCODE的是地理編碼的結果
if (res.type == MKAddrInfo.MK_GEOCODE) {
//地理編碼:通過地址檢索坐標點
String strInfo = String.format("緯度:%f 經度:%f", res.geoPt.getLatitudeE6()/1e6, res.geoPt.getLongitudeE6()/1e6);
Toast.makeText(GeoCoderDemo.this, strInfo, Toast.LENGTH_LONG).show();
}
5. android系統獲取經緯度總是0值,求解決
直接在gps工程測試模式下定位,就可以得到經緯度還有你所在地的高度。你也可以使用凱立德這類的導航軟體。
LocationManager.GPS_PROVIDER,換成Network
6. 現時android平台上實現gps獲取經緯度有什麼好方法
GPS獲取經緯度可以參考以下方法:
manifest中添加許可權:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
2. 實例化一個locationmanager:
LocationManger
locationmanager=(LocationManager)this.getSystemService(Context.LOCATION_SERVICE);
3. 判斷GPS是否打開,未打開提示打開GPS:
if (!locationmanager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
Toast.makeText(this, "請開啟GPS導航...", Toast.LENGTH_SHORT).show();
return;
}
4. 監聽位置信息變化:
private LocationListener locationListener=new LocationListener() {
/**
* 位置信息變化時觸發
*/
public void onLocationChanged(Location location) {
updateView(location);
Log.i(TAG, "時間:"+location.getTime());
Log.i(TAG, "經度:"+location.getLongitude());
Log.i(TAG, "緯度:"+location.getLatitude());
Log.i(TAG, "海拔:"+location.getAltitude());
}
5. 載入監聽器:
locationmanager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 1,
locationListener);
7. Android高德通過經緯度獲取地理位置
首先導入依賴:
首次導入依賴的過程可能有點慢
然後在需要用到逆地理編碼的類或彈窗或其他地方中實現 GeocodeSearch.OnGeocodeSearchListener
監聽
例子:
並實現其兩個方法:
通過經緯度逆地理編碼得到位置核心編碼
這樣我們就可以實現通過經緯度得到一個位置信息了
福利贈送~~~
1、繼承 OnGeocodeSearchListener 監聽。
2、構造 GeocodeSearch 對象,並設置監聽。
3、通過 GeocodeQuery(java.lang.String locationName, java.lang.String city) 設置查詢參數,調用 GeocodeSearch 的 getFromLocationNameAsyn(GeocodeQuery geocodeQuery) 方法發起請求。
4、通過回調介面 onGeocodeSearched 解析返回的結果。
說明:
1)可以在回調中解析result,獲取坐標信息。
2)返回結果成功或者失敗的響應碼。1000為成功,其他為失敗(詳細信息參見網站開發指南-實用工具-錯誤碼對照表)