详解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 相关文章推荐
vue3.0实现点击切换验证码(组件)及校验
Nov 18 Vue.js
Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
Dec 01 Vue.js
Vue router传递参数并解决刷新页面参数丢失问题
Dec 02 Vue.js
vue添加自定义右键菜单的完整实例
Dec 08 Vue.js
vue项目中openlayers绘制行政区划
Dec 24 Vue.js
详解vue3中组件的非兼容变更
Mar 03 Vue.js
vue实现简单数据双向绑定
Apr 28 Vue.js
Vue实现动态查询规则生成组件
May 27 Vue.js
idea编译器vue缩进报错问题场景分析
Jul 04 Vue.js
Vue的过滤器你真了解吗
Feb 24 Vue.js
vue整合百度地图显示指定地点信息
Apr 06 Vue.js
vue实现简易音乐播放器
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巧获服务器端信息
2006/12/06 PHP
php实现文件下载功能的几个代码分享
2014/05/10 PHP
WordPress中用于检索模版的相关PHP函数使用解析
2015/12/15 PHP
解读PHP的Yii框架中请求与响应的处理流程
2016/03/17 PHP
php实现等比例不失真缩放上传图片的方法
2016/11/14 PHP
php 变量引用与变量销毁机制详细介绍
2016/12/05 PHP
创建无限极分类树型结构的简单方法
2017/06/20 PHP
启用OPCache提高PHP程序性能的方法
2019/03/21 PHP
二行代码解决全部网页木马
2008/03/28 Javascript
Domino中运用jQuery读取视图内容的方法
2009/10/21 Javascript
如何使用jQuery来处理图片坏链具体实现步骤
2013/05/02 Javascript
Jquery中Event对象属性小结
2015/02/27 Javascript
JS实现登录页面记住密码和enter键登录方法推荐
2016/05/10 Javascript
Bootstrap 折叠(Collapse)插件用法实例详解
2016/06/01 Javascript
深入浅析JS是按值传递还是按引用传递(推荐)
2016/09/18 Javascript
jQuery实现隔行变色的方法分析(对比原生JS)
2016/11/18 Javascript
Vue头像处理方案小结
2018/07/26 Javascript
vue项目中使用vue-i18n报错的解决方法
2019/01/13 Javascript
Vue根据条件添加click事件的方式
2019/11/09 Javascript
vue项目中在可编辑div光标位置插入内容的实现代码
2020/01/07 Javascript
Vue项目配置跨域访问和代理proxy设置方式
2020/09/08 Javascript
[01:43]3.19DOTA2发布会 三代刀塔人第三代
2014/03/25 DOTA
python关键字and和or用法实例
2015/05/28 Python
使用Python读写及压缩和解压缩文件的示例
2016/07/08 Python
Python实现简易版的Web服务器(推荐)
2018/01/29 Python
django admin.py 外键,反向查询的实例
2019/07/26 Python
Python爬虫开发与项目实战
2020/12/16 Python
OpenCV+python实现膨胀和腐蚀的示例
2020/12/21 Python
美国购买和销售礼品卡平台:Raise
2017/01/13 全球购物
中兴通讯全球官方网站:ZTE
2020/12/26 全球购物
教师自我鉴定范文
2013/11/10 职场文书
排查整治工作方案
2014/06/09 职场文书
城市创卫标语
2014/06/17 职场文书
浅谈tf.train.Saver()与tf.train.import_meta_graph的要点
2021/05/26 Python
详解Oracle数据库中自带的所有表结构(sql代码)
2021/11/20 Oracle
设置IIS Express并发数
2022/07/07 Servers