详解vue实现坐标拾取器功能示例


Posted in Vue.js onNovember 18, 2020

需求

1、搜索具体地址,自动填写经纬度,并在地图上标记

详解vue实现坐标拾取器功能示例

2、点击地图上一点,可重新填写经纬度并且标记

代码

在dom新建div渲染地图

<el-form-item label="店铺地址" prop="address">
 <el-input v-model="fristForm.address"></el-input>
 <el-input
 class="long-lat"
 v-model="fristForm.longitude"
 placeholder="经度"
 ></el-input>
 <el-input
 class="long-lat"
 v-model="fristForm.latitude"
 placeholder="纬度"
 ></el-input>
 <el-button size="mini" type="primary" @click="searchKeyword"
 >搜索</el-button
 >
</el-form-item>
<span class="changeAddress">点击地图更换分店定位地址</span>
<!-- 渲染地图的div容器 -->
<div id="container" class="mapbox"></div>

js定义地图变量并设置需求

var searchService,geocoder,map,markersArray = [];
<script>
export default {
 mounted() {
  this.init();
 },
 methods:{
  init() {
   var that = this;
   var center = new qq.maps.LatLng(39.916527, 116.397128);
   var map = new qq.maps.Map(document.getElementById("container"), {
   center: center,
   zoom: 13
   });
   var latlngBounds = new qq.maps.LatLngBounds();
   qq.maps.event.addListener(map, "click", function(event) {
   console.log(event);
   that.fristForm.longitude = event.latLng.getLng(); // 经度
   that.fristForm.latitude = event.latLng.getLat(); // 纬度

   if (markersArray) {
    for (let i in markersArray) {
    markersArray[i].setMap(null);
    }
   }
   var marker = new qq.maps.Marker({
    map: map,
    position: event.latLng
   });
   markersArray.push(marker);
   });

   geocoder = new qq.maps.Geocoder({
   complete: function(result) {
    console.log(result);
    that.fristForm.longitude = result.detail.location.lng;
    that.fristForm.latitude = result.detail.location.lat;
    map.setCenter(result.detail.location);
    var marker = new qq.maps.Marker({
    map: map,
    position: result.detail.location
    });
    markersArray.push(marker);
   }
   });
  },
 },
 // 搜索地址
 searchKeyword() {
  var keyword = this.fristForm.address;
  this.clearOverlays(markersArray);
  //根据输入的城市设置搜索范围
  // searchService.setLocation("北京");
  //根据输入的关键字在搜索范围内检索
  if (keyword) {
  // searchService.search(keyword);
  geocoder.getLocation(keyword);
  } else {
  alert("请输入地址");
  }
 },
}
</script>

文档参考

以上代码使用的是jsapi功能,目前对应功能已升级JavaScript API GL,地址解析功能可直接调取接口使用,欢迎大家体验!

地址解析(地址转坐标)
JavaScript API GL参考手册

到此这篇关于详解vue实现坐标拾取器功能示例的文章就介绍到这了,更多相关vue 坐标拾取器内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木! 

Vue.js 相关文章推荐
vue+iview实现分页及查询功能
Nov 17 Vue.js
vue 通过base64实现图片下载功能
Dec 19 Vue.js
Vue中引入svg图标的两种方式
Jan 14 Vue.js
Vue ​v-model相关知识总结
Jan 28 Vue.js
学习 Vue.js 遇到的那些坑
Feb 02 Vue.js
vue实现倒计时功能
Mar 24 Vue.js
Vue全家桶入门基础教程
May 14 Vue.js
vue使用refs获取嵌套组件中的值过程
Mar 31 Vue.js
vue修饰符.capture和.self的区别
Apr 22 Vue.js
ant design vue的form表单取值方法
Jun 01 Vue.js
vue递归实现树形组件
Jul 15 Vue.js
vue实现input输入模糊查询的三种方式
Aug 14 Vue.js
Vue如何循环提取对象数组中的值
Nov 18 #Vue.js
vue在图片上传的时候压缩图片
Nov 18 #Vue.js
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
Nov 18 #Vue.js
springboot+vue实现文件上传下载
Nov 17 #Vue.js
vue 表单输入框不支持focus及blur事件的解决方案
Nov 17 #Vue.js
解决vue elementUI 使用el-select 时 change事件的触发问题
Nov 17 #Vue.js
Vue项目利用axios请求接口下载excel
Nov 17 #Vue.js
You might like
PHP获取文件绝对路径的代码(上一级目录)
2011/05/29 PHP
php中inlcude()性能对比详解
2012/09/16 PHP
php分页函数完整实例代码
2014/09/22 PHP
PHP简单实现上一页下一页功能示例
2016/09/14 PHP
基于Laravel5.4实现多字段登录功能方法示例
2017/08/11 PHP
支持ie与FireFox的剪切板操作代码
2009/09/28 Javascript
Nodejs实现的一个静态服务器实例
2014/12/06 NodeJs
js针对ip地址、子网掩码、网关的逻辑性判断
2016/01/06 Javascript
很棒的js选项卡切换效果
2016/07/15 Javascript
javascript数组对象常用api函数小结(连接,插入,删除,反转,排序等)
2016/09/20 Javascript
Node.js中如何合并两个复杂对象详解
2016/12/31 Javascript
微信小程序实现YDUI的ScrollTab组件
2018/02/02 Javascript
JS关于刷新页面的相关总结
2018/05/09 Javascript
详解vue移动端项目代码拆分记录
2019/03/15 Javascript
vue+element+Java实现批量删除功能
2019/04/08 Javascript
python读文件逐行处理的示例代码分享
2013/12/27 Python
python数据结构之二叉树的遍历实例
2014/04/29 Python
python使用循环打印所有三位数水仙花数的实例
2018/11/13 Python
Pandas Shift函数的基础入门学习笔记
2018/11/16 Python
Python读取Pickle文件信息并计算与当前时间间隔的方法分析
2019/01/30 Python
Python字符串的一些操作方法总结
2019/06/10 Python
利用python-pypcap抓取带VLAN标签的数据包方法
2019/07/23 Python
python自定义时钟类、定时任务类
2021/02/22 Python
python科学计算之narray对象用法
2019/11/25 Python
python 串口读取+存储+输出处理实例
2019/12/26 Python
Python注释、分支结构、循环结构、伪“选择结构”用法实例分析
2020/01/09 Python
Python简单实现区域生长方式
2020/01/16 Python
Python3实现mysql连接和数据框的形成(实例代码)
2020/01/17 Python
Hotter Shoes英国官网:英伦风格,舒适的鞋子
2017/12/28 全球购物
资源环境与城市管理专业推荐信
2013/11/30 职场文书
军事理论课感想
2015/08/11 职场文书
小学英语教学随笔
2015/08/14 职场文书
2016三严三实专题教育活动心得体会
2016/01/06 职场文书
2019 入党申请书范文
2019/07/10 职场文书
假如给我三天光明:舟逆水而行,人遇挫而达 
2019/10/29 职场文书
Python 批量下载阴阳师网站壁纸
2021/05/19 Python