详解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
vuex Module将 store 分割成模块的操作
Dec 07 Vue.js
Vue——解决报错 Computed property &quot;****&quot; was assigned to but it has no setter.
Dec 19 Vue.js
vue 实现图片懒加载功能
Dec 31 Vue.js
手写Vue源码之数据劫持示例详解
Jan 04 Vue.js
vue.js watch经常失效的场景与解决方案
Jan 07 Vue.js
vue-cropper组件实现图片切割上传
May 27 Vue.js
Vue vee-validate插件的简单使用
Jun 22 Vue.js
Vue3.0 手写放大镜效果
Jul 25 Vue.js
Vue全局事件总线你了解吗
Feb 24 Vue.js
vue判断按钮是否可以点击
Apr 09 Vue.js
vue组件vue-esign实现电子签名
Apr 21 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
PHP6 mysql连接方式说明
2009/02/09 PHP
php xml文件操作代码(一)
2009/03/20 PHP
使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法
2010/04/02 PHP
php读取文件内容至字符串中,同时去除换行、空行、行首行尾空格(Zjmainstay原创)
2012/07/31 PHP
PHP动态页生成静态页的3种常用方法
2014/11/13 PHP
JavaScript 组件之旅(三):用 Ant 构建组件
2009/10/28 Javascript
javascript操作referer详细解析
2014/03/10 Javascript
JavaScript调用浏览器打印功能实例分析
2015/07/17 Javascript
深入分析jsonp协议原理
2015/09/26 Javascript
JS判断浏览器是否安装flash插件的简单方法
2016/09/13 Javascript
完美解决iview 的select下拉框选项错位的问题
2018/03/02 Javascript
[03:41]2018完美盛典-《Fight With Us》
2018/12/16 DOTA
python时间整形转标准格式的示例分享
2014/02/14 Python
使用Python判断IP地址合法性的方法实例
2014/03/13 Python
wxPython的安装图文教程(Windows)
2017/12/28 Python
Python装饰器用法实例总结
2018/05/26 Python
用python打印菱形的实操方法和代码
2019/06/25 Python
在macOS上搭建python环境的实现方法
2019/08/13 Python
python 中的paramiko模块简介及安装过程
2020/02/29 Python
python3中sys.argv的实例用法
2020/04/24 Python
基于Python爬取京东双十一商品价格曲线
2020/10/23 Python
美国电子元器件分销商:Newark element14
2018/01/13 全球购物
DataList 能否分页,请问如何实现?
2015/05/03 面试题
幼儿园门卫制度
2014/01/29 职场文书
xxx同志考察材料
2014/02/07 职场文书
新闻专业毕业生求职信
2014/08/08 职场文书
普通话演讲稿
2014/09/03 职场文书
2014民事授权委托书范本
2014/09/29 职场文书
2014教师年度思想工作总结
2014/11/10 职场文书
重阳节慰问信
2015/02/15 职场文书
2015年八一建军节演讲稿
2015/03/19 职场文书
2015暑期社会实践个人总结
2015/07/13 职场文书
干货:如何写好工作总结报告!
2019/05/10 职场文书
《游戏王:大师决斗》将推出新卡牌包4月4日上线
2022/03/31 其他游戏
CSS中理解层叠性及权重如何分配
2022/12/24 HTML / CSS
mysql数据库如何转移到oracle
2022/12/24 MySQL