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


Posted in Javascript onApril 16, 2019

本文实例讲述了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相关内容还可查看本站专题:《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript数组操作技巧总结》、《JavaScript事件相关操作与技巧大全》、《JavaScript操作DOM技巧总结》及《JavaScript字符与字符串操作技巧总结》

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

Javascript 相关文章推荐
用Javascript同时提交多个Web表单的方法
Dec 26 Javascript
EasyUI的treegrid组件动态加载数据问题的解决办法
Dec 11 Javascript
js弹出模式对话框,并接收回传值的方法
Mar 12 Javascript
JS截取字符串常用方法整理及使用示例
Oct 18 Javascript
jquery插件corner实现圆角边框的方法
Mar 09 Javascript
如何用javascript计算文本框还能输入多少个字符
Jul 29 Javascript
iframe跨域通信封装详解
Aug 11 Javascript
jQuery控制元素隐藏和显示
Mar 03 Javascript
解决Vue.js由于延时显示了{{message}}引用界面的问题
Aug 25 Javascript
微信小程序实现搜索历史功能
Mar 26 Javascript
微信小程序登录态和检验注册过没的app.js写法
May 22 Javascript
详解一次Vue低版本安卓白屏问题的解决过程
May 30 Javascript
JQuery Ajax跨域调用和非跨域调用问题实例分析
Apr 16 #jQuery
vue+element UI实现树形表格带复选框的示例代码
Apr 16 #Javascript
JS实现根据详细地址获取经纬度功能示例
Apr 16 #Javascript
Vue 理解之白话 getter/setter详解
Apr 16 #Javascript
在vue中使用setInterval的方法示例
Apr 16 #Javascript
vue实现局部刷新的实现示例
Apr 16 #Javascript
如何自动化部署项目?折腾服务器之旅~
Apr 16 #Javascript
You might like
PHP 高手之路(一)
2006/10/09 PHP
PHP常用正则表达式集锦
2014/08/17 PHP
CI框架中通过hook的方式实现简单的权限控制
2015/01/07 PHP
Zend Framework动作助手Url用法详解
2016/03/05 PHP
实例:尽可能写友好的Javascript代码
2006/10/09 Javascript
快速解决jquery之get缓存问题的最简单方法介绍
2013/12/19 Javascript
详解JavaScript中的客户端消息框架设计原理
2015/06/24 Javascript
拥有一个属于自己的javascript表单验证插件
2016/03/24 Javascript
Node.js开启Https的实践详解
2016/10/25 Javascript
PHP实现本地图片上传和验证功能
2017/02/27 Javascript
使用Vue开发一个实时性时间转换指令
2018/01/17 Javascript
Vue 递归多级菜单的实例代码
2019/05/05 Javascript
基于vue-cli3创建libs库的实现方法
2019/12/04 Javascript
JavaScript canvas实现跟随鼠标移动小球
2021/02/09 Javascript
Python读写Excel文件的实例
2013/11/01 Python
使用Python开发windows GUI程序入门实例
2014/10/23 Python
Python中实现参数类型检查的简单方法
2015/04/21 Python
简介Python中用于处理字符串的center()方法
2015/05/18 Python
Python实现的手机号归属地相关信息查询功能示例
2017/06/08 Python
Python利用turtle库绘制彩虹代码示例
2017/12/20 Python
pandas值替换方法
2018/07/10 Python
解决win64 Python下安装PIL出错问题(图解)
2018/09/03 Python
使用python对excle和json互相转换的示例
2018/10/23 Python
python 多线程将大文件分开下载后在合并的实例
2018/11/09 Python
python合并已经存在的sheet数据到新sheet的方法
2018/12/11 Python
django基于存储在前端的token用户认证解析
2019/08/06 Python
python3.8动态人脸识别的实现示例
2020/09/21 Python
LivingSocial英国:英国本地优惠
2019/02/22 全球购物
请假条标准格式规范
2014/04/10 职场文书
关于读书的演讲稿300字
2014/08/27 职场文书
"9.18"国耻日演讲稿范文
2014/09/14 职场文书
单方离婚协议书范本(2014版)
2014/09/30 职场文书
2014年城管工作总结
2014/11/20 职场文书
旗帜观后感
2015/06/08 职场文书
前端学习——JavaScript原生实现购物车案例
2021/03/31 Javascript
python神经网络学习 使用Keras进行简单分类
2022/05/04 Python