123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>点击地图获取地址和经纬度map,address,lng,lat</title>
- <meta name="robots" content="noindex, nofollow">
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
- <!-- 将百度地图API引入,设置好自己的key -->
- <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=4FjGxlxzQrIkl7BxwMPl6da5yMxsXwp4"></script>
- </head>
- <body>
-
- <div class="main-div">
- <form method="post" action="" name="theForm" enctype="multipart/form-data" onsubmit="return validate()">
- <table cellspacing="1" cellpadding="3" width="100%">
- <tr>
- <td class="label">经度</td>
- <td><input type="text" name="lng" id="lng" value=""/>
- </td>
- </tr>
- <tr>
- <td class="label">纬度</td>
- <td><input type="text" name="lat" id="lat" value=""/>
- </td>
- </tr>
- <tr>
- <td class="label">地址</td>
- <td>
- <input type='text' value='' name='sever_add' id='sever_add'>
- <input type='button' value='点击显示地图获取地址经纬度' id='open'>
- </td>
- </tr>
- </table>
- </form>
- <div id='allmap' style='width: 50%; height: 50%; position: absolute; display: none'></div>
- </div>
- </body>
- </html>
- <script type="text/javascript">
- function validate() {
- var sever_add = document.getElementsByName('sever_add')[0].value;
- if (isNull(sever_add)) {
- alert('请选择地址');
- return false;
- }
- return true;
- }
-
- //判断是否是空
- function isNull(a) {
- return (a == '' || typeof(a) == 'undefined' || a == null) ? true : false;
- }
-
- document.getElementById('open').onclick = function () {
- if (document.getElementById('allmap').style.display == 'none') {
- document.getElementById('allmap').style.display = 'block';
- } else {
- document.getElementById('allmap').style.display = 'none';
- }
- }
-
- var map = new BMap.Map("allmap");
- var geoc = new BMap.Geocoder(); //地址解析对象
- var markersArray = [];
- var geolocation = new BMap.Geolocation();
-
-
- var point = new BMap.Point(116.331398, 39.897445);
- map.centerAndZoom(point, 12); // 中心点
- geolocation.getCurrentPosition(function (r) {
- if (this.getStatus() == BMAP_STATUS_SUCCESS) {
- var mk = new BMap.Marker(r.point);
- map.addOverlay(mk);
- map.panTo(r.point);
- map.enableScrollWheelZoom(true);
- }
- else {
- alert('failed' + this.getStatus());
- }
- }, {enableHighAccuracy: true})
- map.addEventListener("click", showInfo);
-
-
- //清除标识
- function clearOverlays() {
- if (markersArray) {
- for (i in markersArray) {
- map.removeOverlay(markersArray[i])
- }
- }
- }
- //地图上标注
- function addMarker(point) {
- var marker = new BMap.Marker(point);
- markersArray.push(marker);
- clearOverlays();
- map.addOverlay(marker);
- }
- //点击地图时间处理
- function showInfo(e) {
- document.getElementById('lng').value = e.point.lng;
- document.getElementById('lat').value = e.point.lat;
- geoc.getLocation(e.point, function (rs) {
- var addComp = rs.addressComponents;
- var address = addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber;
- if (confirm("确定要地址是" + address + "?")) {
- document.getElementById('allmap').style.display = 'none';
- document.getElementById('sever_add').value = address;
- }
- });
- addMarker(e.point);
- }
- </script>
|