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为成功,其他为失败(详细信息参见网站开发指南-实用工具-错误码对照表)