導航:首頁 > 操作系統 > android百度坐標gps

android百度坐標gps

發布時間:2025-01-30 19:32:09

android編程怎麼把GPS坐標轉換為百度地圖坐標

網路地圖 Android SDK 或者 iOS SDK 或者各種各樣的 API 工具產品,都使用的是網路自己經過加密的坐標體系。
眾多開發者在使用過程中,位置點都是通過 GPS 或者其他途徑獲取的,所以與網路地圖所使用的坐標系存在差異。
開發者在將這些空間位置信息運用到地圖地圖上得時候,需要進行響應的糾偏(坐標轉換),Android SDK 為廣大開發者早已開放了響應的坐標轉換方法,
開發者只需要短短的幾行代碼就可以實現相應的坐標轉換操作了。
具體方法如下:

[java] view plain
// 將google地圖、soso地圖、aliyun地圖、mapabc地圖和amap地圖// 所用坐標轉換成網路坐標
CoordinateConverter converter = new CoordinateConverter();
converter.from(CoordType.COMMON);
// sourceLatLng待轉換坐標
converter.coord(sourceLatLng);
LatLng desLatLng = converter.convert();

// 將GPS設備採集的原始GPS坐標轉換成網路坐標
CoordinateConverter converter = new CoordinateConverter();
converter.from(CoordType.GPS);
// sourceLatLng待轉換坐標
converter.coord(sourceLatLng);
LatLng desLatLng = converter.convert();

② Android百度地圖api 百度坐標轉GPS坐標如何實現

網路Map API中有GPS坐標換算的AIP

GeoPoint p = new GeoPoint(x, y);
GeoPoint p2 = CoordinateConvert.bundleDecode(CoordinateConvert.fromWgs84ToBai(p));

③ Android開發中百度地圖的定位為什麼總是北京,不是自己的位置

給,對照一下
可能的問題:1.用虛擬機,虛擬機定位就是在北京。
2.手機(或虛擬機)是否開啟了GPS功能

------------------------------
public class MainActivity extends AppCompatActivity {

MapView mMapView = null;
private BaiMap mBaiDuMap;
public LocationClient mLocationClient;
// public BDLocationListener myListener = new MyLocationListener();
public MyLocationListener myListener = new MyLocationListener();
private BitmapDescriptor mCurrentMarker;
private MyLocationConfiguration.LocationMode mCurrentMode;

// 經緯度
private TextView tvJingDu;
// 緯度
private TextView tvWeiDu;
// 高度
private TextView tvGaoDu;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);

// 經緯度TextView 初始化
tvJingDu = (TextView) findViewById(R.id.tv_jing_);
tvWeiDu = (TextView) findViewById(R.id.tv_wei_);
tvGaoDu = (TextView) findViewById(R.id.tv_gao_);

//===================================
// 普通模式
mCurrentMode = MyLocationConfiguration.LocationMode.COMPASS;

// TODO
// mCurrentMarker = BitmapDescriptorFactory.fromResource(R.drawable.dingwei);
mCurrentMarker = null;

// 找到地圖控制項
mMapView = (MapView) findViewById(R.id.bmapView);
mBaiDuMap = mMapView.getMap();// 獲取地圖

mBaiDuMap.setMapType(BaiMap.MAP_TYPE_NORMAL);// 設置地圖模式為普通模式

// 開啟定點陣圖層
mBaiDuMap.setMyLocationEnabled(true);
mLocationClient = new LocationClient(this); // 定位用到一個類
mLocationClient.registerLocationListener(myListener);// 注冊監聽

// TODO
mBaiDuMap.setMyLocationConfigeration(new MyLocationConfiguration(
mCurrentMode, true, mCurrentMarker, R.color.myBlue, Color.YELLOW
));

// LocationClientOption類用來設置SDK的位置方式
LocationClientOption option = new LocationClientOption();//以下是給定位設置參數
option.setOpenGps(true); // 打開gps
option.setCoorType("bd09ll"); // 設置坐標類型
option.setScanSpan(2000);
mLocationClient.setLocOption(option);
mLocationClient.start();

}

boolean isFirstLoc = true; // 是否首次定位

// 3.網路位置監聽
public class MyLocationListener implements BDLocationListener {

@Override
public void onReceiveLocation(BDLocation location) {
Log.i("監聽被執行了", "監聽被執行了");

if (location == null || mMapView == null) {
return;
}

// // 定位結果
// StringBuffer sb = new StringBuffer(256);
// StringBuffer sb1 = new StringBuffer(256);
// StringBuffer sb2 = new StringBuffer(256);
// // 經度
// String jd = sb.append(location.getLongitude()).toString();
// tvJingDu.setText("" + jd);
// Log.i("經度", "" + jd);
// // 緯度
// String wd = sb1.append(location.getLatitude()).toString();
// tvWeiDu.setText("" + sb1);
// Log.i("緯度", "" + wd);
//
// String gao = sb.append(location.getAltitude()).toString();
// tvGaoDu.setText("" + gao);
// 經度
double d1 = location.getLongitude();
String s1 = "" + d1;
tvWeiDu.setText(s1);
Log.i("經度", "" + s1);
// 緯度
double d2 = location.getLatitude();
Log.i("TGA", "d2" + d2);
String s2 = "" + d2;
tvJingDu.setText(s2);
Log.i("緯度", "" + s2);

MyLocationData locData = new MyLocationData.Builder()
.accuracy(location.getRadius())
// 此處設置開發者獲取到的方向信息,順時針0-360
.direction(0).latitude(location.getLatitude())
.longitude(location.getLongitude()).build();
mBaiDuMap.setMyLocationData(locData);

if (isFirstLoc) {
isFirstLoc = false;
LatLng ll = new LatLng(location.getLatitude(),
location.getLongitude());
MapStatus.Builder builder = new MapStatus.Builder();
// 縮放的等級 12.0f
builder.target(ll).zoom(18.0f);
mBaiDuMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build()));
}
Log.i("MyLocationListener被執行了!", "onReceiveLocation");

}

@Override
public void onConnectHotSpotMessage(String s, int i) {

}
}

// 結束方法

@Override
protected void onDestroy() {
super.onDestroy();
mMapView.onDestroy();
}

@Override
protected void onResume() {
super.onResume();
mMapView.onResume();
}

@Override
protected void onPause() {
super.onPause();
mMapView.onPause();
}
}

④ 怎麼在android百度地圖通過經緯度來定位並且顯示出地圖位置

可以參考如下內容:

使用Android自帶的LocationManager和Location獲取位置的時候,經常會有獲取的location為null的情況,並且操作起來也不是很方便,在這個Demo里我使用了網路地圖API中的定位SDK,可以一次性獲取當前位置經緯度以及詳細地址信息,還可以獲取周邊POI信息,同時可以設定位置通知點,當到達某一位置時,發出通知信息等方式來告知用戶。jar包下載以及官方文檔請參照:網路定位SDK,前提是需要注冊網路開發者賬號。
下面來看看定位的基本原理,目前,定位SDK可以通過GPS、基站、Wifi信號進行定位。基本定位流程如下圖所示,當應用程序向定位SDK發起定位請求時,定位SDK會根據當前的GPS、基站、Wifi信息生成相對應的定位依據。然後定位SDK會根據定位依據來進行定位。如果需要,定位SDK會向定位伺服器發送網路請求。定位伺服器會根據請求的定位依據推算出對應的坐標位置,然後根據用戶的定製信息,生成定位結果返回給定位SDK。

⑤ 請問目前主流Android 定位有哪些,還有百度定位和gps定位有什麼區別

你好:
目前主流的Android定位有如下幾種:
1.通過GPS模塊
GPS方式准確度是最高的,但是它的缺點也非常明顯:1,比較耗電;2,絕大部分用戶默認不開啟GPS模塊;3,從GPS模塊啟動到獲取第一次定位數據,可能需要比較長的時間;4,室內幾乎無法使用。這其中,缺點2,3都是比較致命的。需要指出的是,GPS走的是衛星通信的通道,在沒有網路連接的情況下也能用。
2.基站定位
大致思路就是採集到手機上的基站ID號(cellid)和其它的一些信息(MNC,MCC,LAC等等),然後通過網路訪問一些定位服務,獲取並返回對應的經緯度坐標。基站定位的精確度不如GPS,但好處是能夠在室內用,只要網路通暢就行。
3.WIFI定位
和基站定位類似,這種方式是通過獲取當前所用的wifi的一些信息,然後訪問網路上的定位服務以獲得經緯度坐標。因為它和基站定位其實都需要使用網路,所以在Android也統稱為Network方式。
4.AGPS方式
很多人將它和基站定位混為一談,但其實AGPS的本質仍然是GPS,只是它會使用基站信息對獲取GPS進行輔助,然後還能對獲取到的GPS結果進行修正,所以AGPS要比傳統的GPS更快,准確度略高。

網路定位和GPS定位的區別

這個問題有點模糊,不是一個概念,注意區分一下,智能手機上網路地圖的定位一般選擇GPS開啟吧。

⑥ android編程怎麼把GPS坐標轉換為百度地圖坐標

實現將一組GPS模塊獲取的經緯度數據在網路地圖上繪制軌跡

/**

* 標準的GPS經緯度坐標直接在地圖上繪制會有偏移,這是測繪局和地圖商設置的加密,要轉換成網路地圖坐標

*

* @return 網路地圖坐標

*/

publicGeoPoint gpsToBai(String data) {//data格式 nmea標准數據 ddmm.mmmmm,ddmm.mmmm 如3030.90909,11449.1234

String[] p = data.split(",");

intlat = (int) (((int) (Float.valueOf(p[0]) /100) + (100* (Float//將ddmm.mmmm格式轉成dd.ddddd

.valueOf(p[0]) /100.0- (int) (Float.valueOf(p[0]) /100)) /60.0)) * 1E6);

intlon = (int) (((int) (Float.valueOf(p[1]) /100) + (100* (Float

.valueOf(p[1]) /100.0- (int) (Float.valueOf(p[1]) /100)) /60.0)) * 1E6);

GeoPoint pt =newGeoPoint(lat, lon);

returnCoordinateConvert.fromWgs84ToBai(pt);//轉成網路坐標

}

⑦ android 版百度地圖如何通過定位功能獲得當前的位置所在的城市

網路地圖是通過移動通信基站定位來確定當前位置所在的城市。其原理就是通過測算周圍基站與手機的距離來交會估算手機的空間位置。
手機定位是指通過特定的定位技術來獲取移動手機或終端用戶的位置信息(經緯度坐標),在電子地圖上標出被定位對象的位置的技術或服務。定位技術有兩種,一種是基於GPS的定位,一種是基於移動運營網的基站的定位。基於GPS的定位方式是利用手機上的GPS定位模塊將自己的位置信號發送到定位後台來實現手機定位的。基站定位則是利用基站對手機的距離的測算距離來確定手機位置的。後者不需要手機具有GPS定位能力,但是精度很大程度依賴於基站的分布及覆蓋范圍的大小,有時誤差會超過一公里。前者定位精度較高。此外還有利用Wifi在小范圍內定位的方式。

⑧ 在安卓模擬器中如何使用模擬GPS定位!

1、首先打開安卓模擬器,點擊安卓模擬器上的「GPS」功能按鈕;

閱讀全文

與android百度坐標gps相關的資料

熱點內容
安卓手機充電口生銹了會怎麼樣 瀏覽:476
手機加密簡訊攔截不了 瀏覽:592
考研英語pdf下載 瀏覽:900
關於壓縮的名字 瀏覽:932
九龍伺服器怎麼樣 瀏覽:264
玩客雲私人伺服器 瀏覽:266
遼寧加密開關 瀏覽:356
台灣圖紙加密軟體費用 瀏覽:40
程序員那麼可愛車禍集正片 瀏覽:447
被點名app哪個好 瀏覽:944
c啟動進程Linux 瀏覽:117
突破前期高點源碼 瀏覽:596
c語言農歷演算法 瀏覽:325
32位單片機語言 瀏覽:979
安卓全服是什麼意思 瀏覽:147
程序員那麼可愛陸漓和姜逸城吻戲 瀏覽:802
android獲取窗口大小 瀏覽:182
程序員為世界帶來的貢獻 瀏覽:216
程序員招聘自薦信 瀏覽:693
魔獸鍵位設置命令宏 瀏覽:647