美文网首页
集成百度地图根据地址获取经纬度,定位地址到街道

集成百度地图根据地址获取经纬度,定位地址到街道

作者: 隔壁付叔叔 | 来源:发表于2017-08-09 18:10 被阅读0次

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>根据地址查询经纬度</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=申请的ak值"></script>
<script type="text/javascript" src="http://wap.bingjun.cn/js/jquery-1.9.2.min.js"></script>
<script type="text/javascript" src="http://wap.bingjun.cn/js/layer/layer.js"></script>

<script type="text/javascript">
$(function(){
var map = new BMap.Map("container");
map.centerAndZoom("北京", 12);//地图默认北京
map.enableScrollWheelZoom(); //启用滚轮放大缩小,默认禁用
map.enableContinuousZoom(); //启用地图惯性拖拽,默认禁用
map.addControl(new BMap.NavigationControl()); //添加默认缩放平移控件
map.addControl(new BMap.OverviewMapControl()); //添加默认缩略地图控件
map.addControl(new BMap.OverviewMapControl({ isOpen: true, anchor: BMAP_ANCHOR_BOTTOM_RIGHT })); //右下角,打开
var localSearch = new BMap.LocalSearch(map);
localSearch.enableAutoViewport(); //允许自动调节窗体大小

//根据地址查询移除事件
$("#text_").blur(function(){
searchByStationName();
});

});
</script>
<script type="text/javascript">
var text;

var geolocation = new BMap.Geolocation();  
var myGeo = new BMap.Geocoder(); 
   geolocation.getCurrentPosition(function(result){  
    if(this.getStatus() == BMAP_STATUS_SUCCESS){
           var pt=result.point;
           myGeo.getLocation(pt, function(result){      

if (result){
var addComp = result.addressComponents;

//获取地址详情
var address = addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber;

   text=address;
   $("#text_").val(text);
   searchByStationName();

}
});

       } 
       



   }); 

//获取经纬度显示到文本(可以自由发挥)
function searchByStationName() {
var map = new BMap.Map("container");
var local = new BMap.LocalSearch(map, {
renderOptions: { map: map }
});
  var keyword = document.getElementById("text_").value;
  local.setSearchCompleteCallback(function (searchResult) {
    var poi = searchResult.getPoi(0);

        document.getElementById("result_").value = poi.point.lng + "," + poi.point.lat; //获取经度和纬度,将结果显示在文本框中
        map.centerAndZoom(poi.point, 13);
  });
  local.search(keyword);

}

 </script>

</head>
<body style="background:#CBE1FF">
<div style="width:1200px;margin:auto;">
要查询的地址:<input id="text_" type="text" value="" style="margin-right:100px;"/>
查询结果(经纬度):<input id="result_" type="text" />

    <div id="container" style="width: 1200px; height: 900px;border: 1px solid gray;">
    </div>
</div>

</body>
</html>

相关文章

网友评论

      本文标题:集成百度地图根据地址获取经纬度,定位地址到街道

      本文链接:https://www.haomeiwen.com/subject/tspqrxtx.html