如何利用 BMap.Geocoder 获取经纬度多个地址的经纬度

如何获取一个地址的经纬度_百度知道
如何获取一个地址的经纬度
提问者采纳
getLocation(&quot.html#Geocoder示例;/})/创建对象实例geocoder =+中国;&#47://成功;/})&#47用逆地址解析服务GeoCoder);&#47,海淀大街38号&quot.address)
来自团队:
其他类似问题
为您推荐:
经纬度的相关知识
其他5条回答
可以从谷歌地图里面查看选取位置的经纬度
留下地址帮你查询
1、其实可以在百度搜索可以直接查询,但这个值就是一个大概的值,并不是太具体的;2、在百度输入:具体纬度查询,可以轻松的找到这样的网站。3、在搜索框中输入具体的地址。4、这个时候可以在地图上方清楚的看到该地区的经度和纬度。5、单击位置的红点,可以得到更多网站提供的数据。非常有参考价值。6、当然 也可以搜索框中输入一个大概的位置,这个时候再点击真正想要的位置就可以快速查询该位置的经度和纬度了。
要想得到数据必须先得到百度地图的接口,不然怎么调用接口获取数据呢,首先在百度首页输入“百度api”回车后第一个就是要找的,点击进入。是通过网页获取json数据得到的数据,所以我们选择“开发”-》“Web服务API”点击进入。进入这个页面后,选择“开发指南”-》“Geocoding API”选择这个进入想要的接口文档在这里找到通过请求get方式的url,这个url可以通过经纬度获取到地址跟省市,看自己需要什么样的返回格式,有两种,一种是json格式,另一种是xml格式,选择json格式的进行测试。直接用url打开,get请求后获取到的数据,可以看到地址省市县这些都有,可以获取经纬度旁边大量的信息。这些显示在页面上的内容我们怎么获取到并加以利用呢。这里写个方法,通过调用百度地图的url获取到我们想要的数据,在获取之前必须先申请ak秘钥,百度的api文档说的很清楚,要先申请了才能使用。这个是请求url解析获取数据的过程,如果有需要的朋友可以找我要,给我留言就行。在页面上调用这个获取市的方法看看,通过传入经纬度,然后调用百度的api接口,我们可以获取到市的内容。通过启动tomcat,在地址栏输入访问地址,然后请求得到的数据,地址栏我输入的是南昌市的经纬度,然后返回的是正确的市。这就是我们想要的结果,同样的道理,通过这个方法也能返回地址。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁如何利用 BMap.Geocoder 获取多个地址的经纬度_百度知道
如何利用 BMap.Geocoder 获取多个地址的经纬度
我有更好的答案
&#47.address);&#47.地址解析/
&#47.soso.setComplete(function(result){
alert('
&#47.Geocoder();&#47:' &#47.setError(function(result){
alert('中国.);/ }) &#47.html#Geocoder" target="_blank">http.soso,北京;).maps: /出错啦'创建类实例 geocoder = new soso.map.html#Geocoder
示例;成功; }) /doc_v2//doc_v2/ApiG+result,海淀大街38号&反地址解析(经纬度到地名转换过程)
&#47.getLocation(&重新设置成功时的回调创建对象实例 geocoder = new soso,海淀区://&#47.Geocoder(callbacks)://api用逆地址解析服务GeoCoder
<a href="http
其他类似问题
为您推荐:
经纬度的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁今天看啥 热点:
Android开发:LocationManager获取经纬度及定位过程(附demo),
在Android开发当中,经常需要用到定位功能,尤其是依赖于地理位置功能的应用,很多人喜欢使用百度地图,高德地图提供的sdk,开放API,但是在仅仅需要经纬度,或者城市,街道地址等信息,并不需要提供预览地图,地图界面的应用中,这时,不需要使用百度地图,高德地图,这样做只会增加apk的体积,怎么办呢?
其实LocationManager,Geocoder这些Android API给我们提供的这些类就可以满足了。下面笔者就来讲讲如何利用LocationManager获取经纬度,并利用Geocoder将经纬度转换为城市街道等信息。
LocationManager
LocationManager定位管理者实例通过getSystemService()方式获得
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
得到LocationManager实例后,再结合LocationProvider就可以得到经纬度了,LocationProvider分为两种:
LocationProvider gpsProvider = locationManager.getProvider(LocationManager.GPS_PROVIDER);//1.通过GPS定位,较精确,也比较耗电
LocationProvider netProvider = locationManager.getProvider(LocationManager.NETWORK_PROVIDER);//2.通过网络定位,对定位精度度不高或省点情况可考虑使用
进行定位前,需要对两种LocationProvider是否存在进行判断:
if (locationManager.getProvider(LocationManager.NETWORK_PROVIDER) != null || locationManager.getProvider(LocationManager.GPS_PROVIDER) != null) {
* 进行定位
* provider:用于定位的locationProvider字符串:LocationManager.NETWORK_PROVIDER/LocationManager.GPS_PROVIDER
* minTime:时间更新间隔,单位:ms
* minDistance:位置刷新距离,单位:m
* listener:用于定位更新的监听者locationListener
locationManager.requestLocationUpdates(provider, minTime, minDistance, listener);
//无法定位:1、提示用户打开定位服务;2、跳转到设置界面
Toast.makeText(this, &无法定位,请打开定位服务&, Toast.LENGTH_SHORT).show();
Intent i = new Intent();
i.setAction(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(i);
}当LocationProvider不为空null时,进行定位,当它为空时,提示用户打开定位服务,在代码中进行了跳转,供用户勾选。
LocationListener
在定位时,需要实现一个LocationListener位置监听接口,主要是重写onLocaiontChanged()方法
* 位置改变回调方法
* @param location 当前的位置
* @return void
public void onLocationChanged(Location location){
//得到纬度
double latitude = location.getLatitude();
//得到经度
double longitude = location.getLongitude();
其他需要重写的方法有:
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
Geocoder经纬度解码者可用于将经纬度转为详细位置信息:国家,城市,街道名称等
Geocoder gc = new Geocoder(this, Locale.getDefault());
List&Address& locationList =
locationList = gc.getFromLocation(latitude, longitude, 1);
} catch (IOException e) {
e.printStackTrace();
Address address = locationList.get(0);//得到Address实例
//Log.i(TAG, &address =& + address);
String countryName = address.getCountryName();//得到国家名称,比如:中国
Log.i(TAG, &countryName = & + countryName);
String locality = address.getLocality();//得到城市名称,比如:北京市
Log.i(TAG, &locality = & + locality);
for (int i = 0; address.getAddressLine(i) != i++) {
String addressLine = address.getAddressLine(i);//得到周边信息,包括街道等,i=0,得到街道名称
Log.i(TAG, &addressLine = & + addressLine);
&最后,别忘记添加权限:
&uses-permission android:name=&android.permission.ACCESS_COARSE_LOCATION& /&
&uses-permission android:name=&android.permission.ACCESS_FINE_LOCATION& /&
&uses-permission android:name=&android.permission.ACCESS_WIFI_STATE& /&
&uses-permission android:name=&android.permission.ACCESS_NETWORK_STATE& /&
&uses-permission android:name=&android.permission.CHANGE_WIFI_STATE& /&
&uses-permission android:name=&android.permission.INTERNET& /&
demo下载地址:http://download.csdn.net/detail/xiong_it/8916215。
转载请注明原作者:xiong_it和原文链接:http://blog.csdn.net/xiong_it/article/details/,谢谢!
版权声明:本文为博主原创文章,未经博主允许不得转载。
相关搜索:
相关阅读:
相关频道:
Android教程最近更新10411人阅读
百度地图API:
根据地址获取地址所在经纬度:
geocoder 中提供了getPoint() 方法获取
部分实现代码:
if(startAddress==&&){
startAddress=$.location.current_location.
var map = new BMap.Map(container);
var geocoder = new BMap.Geocoder();
//默认为南京
var longitude = 118.807395;
var latitude = 32.065315;
//获取起始地址经纬度
geocoder.getPoint(startAddress,
function(point){
longitude = point.
latitude = point.
},$.location.current_location.address);
//map.centerAndZoom(new BMap.Point(118..065315), 14);
map.centerAndZoom(new BMap.Point(longitude,latitude), 14);
container为显示地图的一个容器,startAdress为起始位置
注:回调函数和主函数是异步执行的,如果在回调函数内对主函数中的一些变量进行操作,主函数的相关代码应放到回调函数中。
最终效果实现:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:77732次
积分:2319
积分:2319
排名:第10562名
原创:138篇
评论:45条
(3)(12)(4)(3)(5)(2)(5)(6)(9)(2)(34)(1)(1)(5)(3)(8)(37)(5)(3)}

我要回帖

更多关于 百度地图获取经纬度 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信