JS使用百度地图API自动获取地址和经纬度操作示例

作者:Zhihua_W 时间:2024-04-23 09:31:24 

本文实例讲述了JS使用百度地图API自动获取地址和经纬度操作。分享给大家供大家参考,具体如下:

在实际工作中我们经常会遇到这样的问题,但是当我们去看百度API的时候往往又达不到我们的要求。

故此,本篇博文讲述如何使用百度地图API自动获取地址和经纬度:

1、HTML代码如下


<!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=7a6QKaIilZftIMmKGAFLG7QT1GLfIncg"></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' readonly>
         <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>

2、JS代码如下


<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>

将js代码放入到html中,我们可以得到效果图如下:

JS使用百度地图API自动获取地址和经纬度操作示例

JS使用百度地图API自动获取地址和经纬度操作示例

JS使用百度地图API自动获取地址和经纬度操作示例

希望本文所述对大家JavaScript程序设计有所帮助。

来源:https://blog.csdn.net/Zhihua_W/article/details/52424395

标签:JS,百度地图,地址,经纬度
0
投稿

猜你喜欢

  • Xml_javascript分页

    2008-09-04 14:43:00
  • 解决mac使用homebrew安装MySQL无法登陆问题

    2024-01-27 06:22:24
  • 区别JavaScript函数声明与变量声明

    2024-04-18 09:34:42
  • 浅谈Django REST Framework限速

    2022-04-09 20:54:46
  • 微信小程序与php 实现微信支付的简单实例

    2023-11-14 15:22:07
  • Python编写车票订购系统 Python实现快递收费系统

    2023-06-26 15:37:26
  • Ubuntu 下 vim 搭建python 环境 配置

    2022-04-27 21:25:17
  • 详解Selenium-webdriver绕开反爬虫机制的4种方法

    2023-09-21 03:30:46
  • Python中的复制操作及copy模块中的浅拷贝与深拷贝方法

    2023-08-18 14:38:24
  • 虾米网今年三月所用加密解密函数

    2010-08-09 12:54:00
  • Python OpenGL绘制一场烟花盛会

    2021-02-08 06:12:44
  • python导入pandas具体步骤方法

    2022-08-14 16:01:03
  • 微信跳一跳python代码实现

    2021-09-16 05:35:09
  • vuex实现简单的购物车功能

    2024-05-08 10:42:20
  • Dreamweaver技巧十二招

    2009-07-05 18:53:00
  • 解决python3 urllib中urlopen报错的问题

    2022-01-11 10:33:32
  • pytorch 实现模型不同层设置不同的学习率方式

    2023-11-20 00:29:25
  • 在Python的Flask框架中使用模版的入门教程

    2021-09-14 04:57:59
  • 微信小程序控制台提示warning:Now you can provide attr "wx:key" for a "wx:for" to improve performance解决方法

    2024-04-18 09:42:40
  • 用python修改excel表某一列内容的操作方法

    2022-01-22 20:51:29
  • asp之家 网络编程 m.aspxhome.com