摘要:
什么是地址解析?
什么是反地址解析?
如何运用地址解析,和反地址解析?
可以同时运用地址解析,和反地址解析麼?答案是,可以的。详见最后一个示例与代码。
---------------------------------------------------------------------------------
一、地址解析
地址解析,是用户输入一个详细到门牌号的地址。例如“北京市中关村南大街27号中央民族大学”,那么地址解析接口,会返回一个经纬度Point。
接口定义如下:
getPoint(address:String, callback:Function, city:String)
对指定的地址进行解析。如果地址定位成功,则以地址所在的坐标点Point
为参数调用回调函数。否则,回调函数的参数为null
。city
为地址所在的城市名,例如“北京市”。
代码示例:
//创建地址解析器实例
varmyGeo=newBMap.Geocoder();
//将地址解析结果显示在地图上,并调整地图视野
myGeo.getPoint("北京市海淀区上地10街",function(point){
if(point) {
map.centerAndZoom(point,16);
map.addOverlay(newBMap.Marker(point));
}
},"北京市");
运行该示例,请点击:http://openapi.baidu.com/map/examples.html?v=1.1&7_12#7&12
二、反地址解析
反地址解析,就是传进去一个经纬度Point,它会返回一个详细的地址。具体地址有多详细,就要看百度数据库里的数据了。
接口定义如下:
getLocation(point:Point, callback:function[, options:LocationOptions])
对指定的坐标点进行反向地址解析。如果解析成功,则回调函数的参数为GeocoderResult
对象,否则回调函数的参数为null
。
代码示例:
vargc=newBMap.Geocoder();
map.addEventListener("click",function(e){
varpt=e.point;
gc.getLocation(pt,function(rs){
varaddComp=rs.addressComponents;
alert(addComp.province+","+addComp.city+","+addComp.district+","+addComp.street+","+addComp.streetNumber);
});
});
运行该示例,请点击:http://openapi.baidu.com/map/examples.html?v=1.1&7_15#7&15
三、同时运用地址解析与反地址解析
在什么情况下需要同时运用这两个接口呢?
答案是,当你搜索一个模糊的地址,但却想要返回一个精确的地址结果。
例如“上海市新华路”,但是你想知道“新华路”在哪个区县的时候,你就可以同时利用这两个接口。
完整HTML代码:
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;
charset=gb2312"/>
<title>地址解析+反地址解析</title>
<scripttype="text/javascript"src="http://api.map.baidu.com/api?v=1.2"></script>
</head>
<body>
<divstyle="width:520px;height:340px;border:1px
solid gray"id="container"></div>
<divstyle="margin:10px
0;"><inputtype="text"style="width:300px;margin-right:10px;"value="新华路"id="searchValue"/><inputtype="button"value="搜索"onclick="search()"/></div>
</body>
</html>
<scripttype="text/javascript">
varmap=newBMap.Map("container");
map.centerAndZoom(newBMap.Point(121.461165,31.234095),11);
functionsearch(){
varmyAddress=document.getElementById('searchValue').value;
varmyGeo=newBMap.Geocoder();
myGeo.getPoint(myAddress,function(point){//我输入的是“知春路”,第一步getPoint是地址解析。
if(point) {
map.centerAndZoom(point,16);
map.addOverlay(newBMap.Marker(point));
myGeo.getLocation(point,function(rs){//这里弹出“知春路”的详细地址信息,第二步getLocation是反地址解析。
varaddComp=rs.addressComponents;
alert(myAddress+'的具体位置是:'+addComp.province+","+addComp.city+","+addComp.district+","+addComp.street+","+addComp.streetNumber);
});
}
},"上海市");//必须设置城市
}
</script>
地址解析+反地址解析示例说明:
1、运行以上HTML代码,会出现这样一个输入框,默认是新华路。点击搜索按钮。
2、经过了地址解析,与反地址解析后,得到了新华路所在地区的详细地址!!!
3、把得到的坐标标注出来。
分享到:
相关推荐
百度地图api提供了非常多地图相关的免费接口,有利于地理位置相关的...本资源调用百度地图API反解析经纬码 输出结果以json格式输入,并输出对应地址 请下载相应的jar包 不然可能无法运行 将代码复制到Eclipse项目类中
逆地址解析百度地图API,选择地图位置,你想解析其地址。引入百度地图js,调用api即可
百度地图标注api在地图上选择地址后获取地址和坐标,在marker标注上添加注释在百度地图容器中创建一个地图将地址解析结果显示在地图上,并调整地图视野/启用地图拖拽事件,默认启用(可不写)启用地图滚轮放大缩小启用...
C#百度地图API获取经纬度所在地理位置,需要替换百度地图的AK,代码亲测可用。
bMap基于百度地图API的地址输入插件,可以输入地址关键词智能搜索或在地图上拖拽获取地址与坐标,调用百度API所使用的ak请到百度地图申请,该ak仅为演示使用,不要用于实际项目中。
java调用百度地图API反解析经纬码.rar
使用checkip获取IP,使用百度地图api用获取到的IP获取经纬度以及大致城市,最后使用百度地图api获取详细地址
异步获得百度地图 详细地址 城市 省份 街道,已打包成jar包,直接调用即可,不过需要你到百度地图官网注册一个秘钥(ak),这是调用百度地图必须的。使用方法: 1.manifest下声明service: 2.manifest下的application...
使用google地图的反向地址解析功能,提供一个经纬度得到对应地址,或者给出模糊地址,得到经纬度,放在java后台代码中处理,这个使用的是Google的地理编码服务。一般而言数据量不大的情况使用是不限制的。按照Google...
百度地图API地址批量转换坐标(支持Excel上传,内含坐标系转换,地图撒点功能)
百度地图API是为开发者免费提供的一套基于百度地图服务的应用接口,包括JavaScript API、Web服务API、Android SDK、iOS SDK、定位SDK、车联网API、LBS云等多种开发工具与服务,提供基本地图展现、搜索、定位、逆/...
将百度地图嵌入c# cs窗体中,cs后台控制百度地图: 1)用WebBrower控件加载本地的一个html文件,在html中实现加载百度地图 2)动态添加覆盖物 3)动态添加标签 4)动态添加点击小气球提示 5)经纬度提取详细地址 查...
使用百度地图API进行地址定位坐标、坐标定位地址、名称定位地址
在做GPS开发的时候,可以根据经伟度坐标获取地址,通过百度地图API
Android源码——百度地图API-定位周边搜索POI源码.7z
Google 地图 JavaScript API 示例 简单地址解析
jQuery百度地图API美团外卖配送地址定位代码,省市区得根据自身需求去增加。
腾讯地图WebService地址解析接口实现源码,可以将微信用户日志的经纬度地址解析成行政区划省市县区的地址。
根据填写的地址获取经度、纬度,史上最强示例demo。小白容易上手,根据百度地图API编写