android 版百度地图如何通过定位功能获得当前的位置所在的城市?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 版百度地图如何通过定位功能获得当前的位置所在的城市?相关的知识,希望对你有一定的参考价值。

  百度地图是通过移动通信基站定位来确定当前位置所在的城市。其原理就是通过测算周围基站与手机的距离来交会估算手机的空间位置。
  手机定位是指通过特定的定位技术来获取移动手机或终端用户的位置信息(经纬度坐标),在电子地图上标出被定位对象的位置的技术或服务。定位技术有两种,一种是基于GPS的定位,一种是基于移动运营网的基站的定位。基于GPS的定位方式是利用手机上的GPS定位模块将自己的位置信号发送到定位后台来实现手机定位的。基站定位则是利用基站对手机的距离的测算距离来确定手机位置的。后者不需要手机具有GPS定位能力,但是精度很大程度依赖于基站的分布及覆盖范围的大小,有时误差会超过一公里。前者定位精度较高。此外还有利用Wifi在小范围内定位的方式。
参考技术A 在onLocationChanged方法里获得自己当前的坐标然后方法里写 mSearch.reverseGeocode(new GeoPoint((int)(location.getLatitude()*1e6),(int)(location.getLongitude()*1e6))); 然后再通过代码实行这个方法功能 public class MySearchListener implements MKSearchListener public void onGetAddrResult(MKAddrInfo result, int error){ MKGeocoderAddressComponent kk=result.addressComponents; String city=kk.city; }} city就是你所在城市追问

好的,谢谢啊,我过会试验一下,不懂可以继续问你不?

追答

我正好前阵子做了一点百度地图 也不是很深

本回答被提问者和网友采纳
参考技术B 刚刚写了这个方法,直接调用GetAddressFromGeoPoint(geoPoint)代码如下:
/**
* 通过经纬度获取地址
* @param GeoPoint
*/
public void GetAddressFromGeoPoint(GeoPoint geoPoint)

mkSearch = new MKSearch();
mkSearch.init(app.mBMapMan, new MySearchListener());
mkSearch.reverseGeocode(geoPoint);

/**
* 监听方法里面通过实现onGetAddrResult取得地址
*/
public class MySearchListener implements MKSearchListener

public void onGetAddrResult(MKAddrInfo res, int error)

if (error != 0)

String str = String.format("错误号:%d", error);
return;


String strInfo = String.format("城市:%\r\n 地址:%s\r\n",
res.addressComponents.city,
res.addressComponents.district +
res.addressComponents.street );
Log.i("ADDR", strInfo);
//Toast.makeText(Geocoder.this, strInfo, Toast.LENGTH_LONG).show();
TextView addrTextView = (TextView)popView.findViewById(R.id.tvAddress);
addrTextView.setText(strInfo);

public void onGetWalkingRouteResult(MKWalkingRouteResult res,
int error)

@Override
public void onGetBusDetailResult(MKBusLineResult arg0, int arg1)
// TODO Auto-generated method stub


@Override
public void onGetDrivingRouteResult(MKDrivingRouteResult arg0, int arg1)
// TODO Auto-generated method stub


@Override
public void onGetPoiResult(MKPoiResult arg0, int arg1, int arg2)
// TODO Auto-generated method stub


@Override
public void onGetTransitRouteResult(MKTransitRouteResult arg0, int arg1)
// TODO Auto-generated method stub


以上是关于android 版百度地图如何通过定位功能获得当前的位置所在的城市?的主要内容,如果未能解决你的问题,请参考以下文章

怎么用百度地图API获得当前位置

百度地图

cordova百度地图定位Android版插件

android 百度地图如何实现类似滴滴打车的功能,比如可以获取自己定位和车辆移动轨迹。

Android开发 百度地图开发(定位传感器应用)

ReactNative 调用手机地图(高德百度)导航 Android