遇到很多地理位置需要得到其经纬度的时候,又不想或者不会写代码就很恼火,
只能一个一个去搜索去一个个复制
不管你会不会写前后端代码,
使用下面的方法就可以轻松的实现经纬度的批量查询(提示:基于百度地图api):
1.将下面的代码拷到新建的txt文本里面
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="initial-scale=1.0,user-scalable=no" /> <title>百度地图API-批量地址解译</title> <style type="text/css"> body, html { width: 100%; height: 100%; margin: 0; font-family: "微软雅黑"; } #l-map { height: 400px; width: 100%; } #r-result { width: 100%; font-size: 14px; line-height: 20px; } </style> <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=你的百度开发者秘钥"></script> </head> <body> <div id="l-map"></div> <div id="r-result"> <input type="button" value="批量地址解析" onclick="bdGEO()" /> <div id="result"></div> </div> <script type="text/javascript"> // 百度地图API功能 var map = new BMap.Map("l-map"); map.centerAndZoom(new BMap.Point(116.31515,39.999006), 12); //第一个参数可以是根据之前创建好的一个点为中心,创建出地图,也可以根据城市地区的中文名称创建地图。 //第二个参数是地图缩放级别,最大为19,最小为0。 map.enableScrollWheelZoom(true); var index = 0; var myGeo = new BMap.Geocoder(); //在这里输入想要获取的地名坐标 var adds = [ '彭州市金彭西路385号', '成都市都江堰市银杏街道壹街社区上善西路3号', '成都市崇州市蜀南西路68号', '成都市大邑县晋原镇桃园大道2号' ]; function bdGEO() { var add = adds[index]; geocodeSearch(add); index++; } function geocodeSearch(add) { if (index < adds.length) { setTimeout(window.bdGEO, 400); } myGeo.getPoint( add, function(point) { if (point) { document.getElementById("result").innerHTML += index + " " + add + ":" + point.lng + "," + point.lat + "</br>"; var address = new BMap.Point(point.lng, point.lat); addMarker(address, new BMap.Label(index + ":" + add, { offset : newBMap.Size(20, -10) })); } }, "中国"); } // 编写自定义函数,创建标注 function addMarker(point, label) { var marker = new BMap.Marker(point); map.addOverlay(marker); marker.setLabel(label); } </script> </body> </html>
复制
要注意一点
这个秘钥需要换成自己的,需要去百度地图开放平台申请一个,不会的本文后面有补充
2.修改后缀为html
3.把你的地理信息加工成数组后,替换代码里面的地址数组
4.保存后,将此HTML文件拖到浏览器(我用的谷歌),点击批量地址解析就行了
补充:
如果没有用过百度地图开放平台,还需要进行开发者认证才能申请秘钥,人脸识别后,大概花五分钟左右就通过了
认证完了创建应用,白名单那可以填*号
创建成功就能看到你申请的应用的秘钥了
参考 这篇文章