『壹』 android 使用百度api定位當前位置只能顯示白色方塊,定位地點是對的
1、沒有下載地圖資源
2、你開啟了衛星圖,而此區域沒有相應的衛星圖,切換回來就好了
你先試試
『貳』 怎麼在android百度地圖通過經緯度來定位並且顯示出地圖位置
可以參考如下內容:
使用Android自帶的LocationManager和Location獲取位置的時候,經常會有獲取的location為null的情況,並且操作起來也不是很方便,在這個Demo里我使用了網路地圖API中的定位SDK,可以一次性獲取當前位置經緯度以及詳細地址信息,還可以獲取周邊POI信息,同時可以設定位置通知點,當到達某一位置時,發出通知信息等方式來告知用戶。jar包下載以及官方文檔請參照:網路定位SDK,前提是需要注冊網路開發者賬號。
下面來看看定位的基本原理,目前,定位SDK可以通過GPS、基站、Wifi信號進行定位。基本定位流程如下圖所示,當應用程序向定位SDK發起定位請求時,定位SDK會根據當前的GPS、基站、Wifi信息生成相對應的定位依據。然後定位SDK會根據定位依據來進行定位。如果需要,定位SDK會向定位伺服器發送網路請求。定位伺服器會根據請求的定位依據推算出對應的坐標位置,然後根據用戶的定製信息,生成定位結果返回給定位SDK。
『叄』 Android百度地圖,如何在百度地圖顯示在手機屏幕上的部分,獲取到中心點
java">privateMapViewmMapView;
privateBaiMapmBaiMap;
MapStatusmmapStatus;
mmapStatus=mBaiMap.getMapStatus();
LatLngcenter=mmapStatus.target;
Stringlocation=center.longitude+","+center.latitude;
System.out.println(location);
以上代碼輸出的location就是當前地圖屏幕的中心坐標;
舊的網路地圖SDK有一個方法,不過SDK升級後就沒有了,用上面的代碼就可以了
『肆』 百度android地圖如何獲取地圖中心點的經緯坐標
方法如下:
1、進入網路地圖的damo,根據注釋下載代碼。
2、使用SDK定位功能,獲取周邊地址;
http://developer..com/map/index.php?title=androidsdk
『伍』 怎麼在android百度地圖通過經緯度來定位並且顯示出地圖位置
1、設置AndroidManfest.xml許可權ViewCode2、配置jar包3、初始化設置BMapManagerViewCodemapManager=newBMapManager(this);mapManager.init("",newMyMKGeneralListener());//設置通知間隔:iMaxSecond-最大通知間隔,單位:秒;iMinSecond-最小通知間隔,單位:秒mapManager.getLocationManager().setNotifyInternal(20,5);4、獲取手機經緯度,並顯示地址信息ViewCodemapManager.getLocationManager().requestLocationUpdates(newMyLocationListener());mapManager.start();在LocationListener中獲取經緯度{@(Locationarg0){intjin=(int)(arg0.getLatitude()*1000000);intwei=(int)(arg0.getLongitude()*1000000);tv1.setText("經度:"+jin+",緯度:"+wei);MKSearchsearch=newMKSearch();search.init(mapManager,newMyMKSearchListener());search.reverseGeocode(newGeoPoint(jin,wei));}}在MKSearch介面中進行地址轉化
『陸』 android如何獲取地理位置
三種方式進行定位,獲取用戶位置,分別是基於基站定位, 網路定位,GPS定位。
1.基站定位(passive):這是基於網路基站進行定位的,定位的精確度在幾十米到幾千米不等,在城市中基站覆蓋率比較高,推薦使用基站定位,如果是在郊區,基站相距較遠,基站的覆蓋沒有城裡好,定位的誤差比較大。如果在郊區不推薦使用基站定位。
2.網路定位:wifi定位,網路定位
3.GPS定位:與衛星進行通信。手機中嵌入了GPS模塊(精簡版的A-GPS),通過A-GPS搜索衛星, 獲取經緯度。使用GPS的弊端是:必須站在空曠的地方,頭頂對著天空,如果雲層厚了,也會受到一定的影響。精確度:10-50米
擴展知識:
使用Android是定位必備的許可權:
< uses-permission android:name= " android.permission.ACCESS_FINE_LOCATION " /> //精確定位
<uses-permission android:name= "android.permission.ACCESS_MOCK_LOCATION" /> //模擬器
<uses-permission android:name= "android.permission.ACCESS_COARSE_LOCATION" /> //粗糙定位
//獲取定位管理對象
LocationManager lm=(LocationManager)getSystemService(LOCATION_SERVICE);
String[] names=lm.getAllProviders();//獲取所有的位置提供者,一般三種
Criteria criteria=new Criteria();//查詢條件,如果設置了海拔,則定位方式只能是GPS;
criteria.setCostAllowed(true);//是否產生開銷,比如流量費
String provider=lm.getBaseProvider(criteria,true)//獲取最好的位置提供者,第二個參數為true,表示只獲取那些被打開的位置提供者
lm.requestLocationUpdates(provier,0,0,new LocationListener(){});//獲取位置。第二個參數表示每隔多少時間返回一次數據,第三個參數表示被定位的物體移動每次多少米返回一次數據。
private class MyLocationListener implements LocationListener {
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
@Override
public void onLocationChanged(Location location) {
System. out.println( "服務中位置監聽發送了變化了" );
float accuracy = location.getAccuracy(); // 精確度
double altitude = location.getAltitude(); // 海拔
double latitude = location.getLatitude(); // 緯度
double longitude = location.getLongitude(); // 經度
String locationInfo = "jing:" + longitude + ",wei:" + latitude + ",haiba:" + altitude + ",jingque:" + accuracy;
Editor edit = sp.edit();
edit.putString( "location", locationInfo);
edit.commit();
}
} public void onProviderDisabled(String provider) {
}
『柒』 百度android地圖怎麼獲取當前屏幕中心點的坐標
true]GeoPoint centerPoint = mapview.getMapCenter();// 地圖中心坐標 int tbSpan = mapview.getLatitudeSpan();// 當前緯線的跨度(從地圖的上邊緣到下邊緣) int lrSpan = mapview.getLongitudeSpan();// 當前經度的跨度(從地圖的左邊緣到地圖的右邊緣) GeoPoint ltPoint = new GeoPoint(centerPoint.getLatitudeE6() - tbSpan / 2, centerPoint.getLongitudeE6() - lrSpan / 2);// 左上角坐標 GeoPoint rbPoint = new GeoPoint(centerPoint.getLatitudeE6() + tbSpan / 2, centerPoint.getLongitudeE6() + lrSpan / 2);// 右下角坐標 查看原帖>>