使用百度地图获取经纬度(附带搜索,标注功能)

直接上代码
根据自己的需求自行修改

<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=1.3"></script>
  </head>
<body style="background:#f9f9f9; margin:0 auto">
    <div style="width:730px;margin:30px auto;">   
        要查询的地址:<input id="address" type="text" value="北京天安门" style="margin-right:50px;"/>
        查询结果(经纬度)<input id="coordinate" type="text" />
        <input type="button" value="查询" onclick="searchByStationName();"/>
        <div id="container" style="position:absolute; margin-top:30px; width:730px; height:590px; top:50; border:1px solid gray; overflow:hidden;"></div>
    </div>
</body>
<script type="text/javascript">
    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(); //允许自动调节窗体大小
function searchByStationName() {
    map.clearOverlays();//清空原来的标注
    var keyword = document.getElementById("address").value;
    localSearch.setSearchCompleteCallback(function (searchResult) {
        var poi = searchResult.getPoi(0);
        document.getElementById("coordinate").value = poi.point.lng + "," + poi.point.lat;
        map.centerAndZoom(poi.point, 13);
        var marker = new BMap.Marker(new BMap.Point(poi.point.lng, poi.point.lat));  // 创建标注,为要查询的地方对应的经纬度
        map.addOverlay(marker);
       
    });
    localSearch.search(keyword);
} 
map.addEventListener("click",function(e){
		map.clearOverlays();//清空原来的标注
		var marker = new BMap.Marker(new BMap.Point(e.point.lng, e.point.lat));  // 创建标注,为要查询的地方对应的经纬度
        map.addOverlay(marker);
		document.getElementById("coordinate").value = e.point.lng + "," + e.point.lat;
	});
</script>
</html>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值