导航:首页 > 操作系统 > 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相关的资料

热点内容
保利国际影城的app叫什么 浏览:742
思域怎么增加密封性 浏览:86
安卓手机充电口生锈了会怎么样 浏览: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