第2行: | 第2行: | ||
<div class="bluetitle"><div class="serve-explain-text"><div class="service-page-anchor"><span>简介</span></div></div></div><div class="serve-explain-text"> | <div class="bluetitle"><div class="serve-explain-text"><div class="service-page-anchor"><span>简介</span></div></div></div><div class="serve-explain-text"> | ||
地址解析服务提供从地址转换到经纬度的服务,反之,逆地址解析则提供从经纬度坐标转换到地址的转换功能。 | 地址解析服务提供从地址转换到经纬度的服务,反之,逆地址解析则提供从经纬度坐标转换到地址的转换功能。 | ||
− | http://mapopen-pub-jsapi.bj.bcebos.com/static/img/geocoding.png</div><!--jsapi-demo模板--><div class="jsapidemo_template"><!--展示地图区域--><div class="demo_area"><!--注释:默认展示效果(填写第一个按钮连接),避免延时--><div dir="http://mapopen-pub-jsapi.bj.bcebos.com/jsapi/demo/getPoint.html"></div></div><!--按钮区域--><div class="demo_control"><div class="demo_btn" style="width:50%;">[https://mapopen-pub-jsapi.bj.bcebos.com/jsapi/demo/getPoint.html 地址解析]</div><div class="demo_btn" style="width:485px;">[https://mapopen-pub-jsapi.bj.bcebos.com/jsapi/demo/getLocation.html 逆地址解]</div></div><!--右上角蓝色标签--可选--><div class="jsapi-demo-link">[ | + | http://mapopen-pub-jsapi.bj.bcebos.com/static/img/geocoding.png</div><!--jsapi-demo模板--><div class="jsapidemo_template"><!--展示地图区域--><div class="demo_area"><!--注释:默认展示效果(填写第一个按钮连接),避免延时--><div dir="http://mapopen-pub-jsapi.bj.bcebos.com/jsapi/demo/getPoint.html"></div></div><!--按钮区域--><div class="demo_control"><div class="demo_btn" style="width:50%;">[https://mapopen-pub-jsapi.bj.bcebos.com/jsapi/demo/getPoint.html 地址解析]</div><div class="demo_btn" style="width:485px;">[https://mapopen-pub-jsapi.bj.bcebos.com/jsapi/demo/getLocation.html 逆地址解]</div></div><!--右上角蓝色标签--可选--><div class="jsapi-demo-link">[https://lbsyun.baidu.com/jsdemo3.0.htm#genev3-0 DEMO详情]</div></div><div class="bluetitle"><div class="serve-explain-text"><div class="service-page-anchor"><span>提供的转换类</span></div></div></div><div class="serve-explain-text">{{bluepoint}}Geocoder:逆/地址解析,用于坐标与地址间的相互转换。详情见[http://mapopen-pub-jsapi.bj.bcebos.com/jsapi/reference/jsapi_reference.html#a7b27 类参考]</div><div class="bluetitle"><div class="serve-explain-text"><div class="service-page-anchor"><span>地址解析服务</span></div></div></div><div class="serve-explain-text"> |
{{bluepoint}}根据地址描述获得坐标信息。 | {{bluepoint}}根据地址描述获得坐标信息。 | ||
2023年2月14日 (二) 10:45的最后版本
简介
地址解析服务提供从地址转换到经纬度的服务,反之,逆地址解析则提供从经纬度坐标转换到地址的转换功能。
提供的转换类
Geocoder:逆/地址解析,用于坐标与地址间的相互转换。详情见类参考
地址解析服务
根据地址描述获得坐标信息。
百度地图API提供Geocoder类进行地址解析,您可以通过Geocoder.getPoint()方法来将一段地址描述转换为一个坐标。
如下示例,我们将地址“北京市海淀区上地10街10号”转换获取该位置的地理经纬度坐标,并在这个位置上添加一个标注。注意:在调用Geocoder.getPoint()方法时您需要提供地址解析所在的城市(本例为“北京市”)。var map = new BMap.Map("l-map"); map.centerAndZoom(new BMap.Point(116.404, 39.915), 11); // 创建地址解析器实例 var myGeo = new BMap.Geocoder(); // 将地址解析结果显示在地图上,并调整地图视野 myGeo.getPoint("北京市海淀区上地10街10号", function(point){ if (point) { map.centerAndZoom(point, 16); map.addOverlay(new BMap.Marker(point)); } }, "北京市");
逆地址解析服务
根据坐标点获得该地点的地址描述,是地址解析的逆向转换。
您可以通过Geocoder.getLocation()方法获得地址描述。当解析工作完成后,您提供的回调函数将会被触发。如果解析成功,则回调函数的参数为GeocoderResult对象,否则为null。在构造Geocoder对象时,可以增加参数{extensions_town: true}来获得乡镇级数据,仅限国内。
1指定经纬度获取地址
var map = new BMap.Map("l-map"); map.centerAndZoom(new BMap.Point(116.404, 39.915), 11); // 创建地理编码实例, 并配置参数获取乡镇级数据 var myGeo = new BMap.Geocoder({extensions_town: true}); // 根据坐标得到地址描述 myGeo.getLocation(new BMap.Point(116.364, 39.993), function(result){ if (result){ alert(result.address); } });
2鼠标点击地图获取地址
var map = new BMap.Map("allmap"); var point = new BMap.Point(116.331398,39.897445); map.centerAndZoom(point,12); var geoc = new BMap.Geocoder(); map.addEventListener("click", function(e){ var pt = e.point; geoc.getLocation(pt, function(rs){ var addComp = rs.addressComponents; alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber); }); });