详解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如何循环提取对象数组中的值
Nov 18 Vue.js
在Vue中使用Echarts可视化库的完整步骤记录
Nov 18 Vue.js
Vue用mixin合并重复代码的实现
Nov 27 Vue.js
Vuex实现简单购物车
Jan 10 Vue.js
vue keep-alive的简单总结
Jan 25 Vue.js
vue-video-player 断点续播的实现
Feb 01 Vue.js
如何管理Vue中的缓存页面
Feb 06 Vue.js
vue Element-ui表格实现树形结构表格
Jun 07 Vue.js
vue中利用mqtt服务端实现即时通讯的步骤记录
Jul 01 Vue.js
vue css 相对路径导入问题级踩坑记录
Jun 05 Vue.js
Vue深入理解插槽slot的使用
Aug 05 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分页类
2013/10/26 PHP
PHP闭包实例解析
2014/09/08 PHP
php使用fgetcsv读取csv文件出现乱码的解决方法
2014/11/08 PHP
WordPress中用于获取文章作者与分类信息的方法整理
2015/12/17 PHP
/etc/php-fpm.d/www.conf 配置注意事项
2017/02/04 PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
2019/10/24 PHP
PHP单元测试配置与使用方法详解
2019/12/27 PHP
深入理解JavaScript系列(15) 函数(Functions)
2012/04/12 Javascript
仿百度联盟对联广告实现代码
2014/08/30 Javascript
Bootstrap创建可折叠的组件
2016/02/23 Javascript
JavaScript中关键字 in 的使用方法详解
2016/10/17 Javascript
javascript基于原型链的继承及call和apply函数用法分析
2016/12/15 Javascript
echarts鼠标覆盖高亮显示节点及关系名称详解
2018/03/17 Javascript
Javascript实现时间倒计时功能
2018/11/17 Javascript
Vue入门之数量加减运算操作示例
2018/12/11 Javascript
[03:14]辉夜杯主赛事 12月25日每日之星
2015/12/26 DOTA
[56:24]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#1Liquid VS MVP.Phx第二局
2016/03/04 DOTA
基于Python 的进程管理工具supervisor使用指南
2016/09/18 Python
微信 用脚本查看是否被微信好友删除
2016/10/28 Python
Python中类型检查的详细介绍
2017/02/13 Python
深入浅析Python中的yield关键字
2018/01/24 Python
Python将8位的图片转为24位的图片实现方法
2018/10/24 Python
Django-Rest-Framework 权限管理源码浅析(小结)
2018/11/12 Python
python实现两张图片拼接为一张图片并保存
2019/07/16 Python
用python生成与调用cntk模型代码演示方法
2019/08/26 Python
Python 字符串类型列表转换成真正列表类型过程解析
2019/08/26 Python
关于numpy.where()函数 返回值的解释
2019/12/06 Python
如何在Django中使用聚合的实现示例
2020/03/23 Python
tensorflow图像裁剪进行数据增强操作
2020/06/30 Python
CSS3中box-shadow的用法介绍
2015/07/15 HTML / CSS
基于 HTML5 WebGL 实现的医疗物流系统
2019/10/08 HTML / CSS
团支书竞选演讲稿
2014/04/28 职场文书
办护照工作证明
2014/10/01 职场文书
软弱涣散基层党组织整改方案
2014/10/25 职场文书
宇宙与人观后感
2015/06/05 职场文书
英语导游欢迎词
2015/09/30 职场文书