大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂。

前言

昨天分享了下vuev-for的一些特殊用法,料想标题给写成了vi-for…太粗心了。文章连接在这里:

vue中如何使用v-for限制遍历的条数?只查询前三条、查询4-6条怎么实现?

在项目中,难免会遇到这样的需求,在项目中加入地图组件,然后在地图上对某些地点进行标注,那么这样的功能应该怎么实现呢?

引入百度地图

1.执行以下命令,安装:

$ npm install vue-baidu-map --save

2.全局注册或者局部注册:

import Vue from 'vue'
import BaiduMap from 'vue-baidu-map'Vue.use(BaiduMap, {// YOUR_APP_KEY 是在百度地图开发者平台申请的密钥 */ak: 'YOUR_APP_KEY'
})

3.在页面中引入地图组件:

<template><baidu-map class="ditu">  </baidu-map>
</template><style>
.ditu {width: 100%;height: 300px;
}
</style>

效果图:

地图效果

以上为最基础的写法,下面是我在项目中的写法:

<baidu-mapclass="bmView":scroll-wheel-zoom="true":center="location":zoom="zoom"ak="YOUR_APP_KEY"><!--  显示地图框          --><bm-view style="width: 75%; height:450px; flex: 1;float: left">  </bm-view></baidu-map>

:center表示当前地图的中心。

:zoom表示显示的地图级别。

下面是data中的代码

location: {lng: 113.10424,lat: 34.925694},
zoom: 12.8,   //也可以是6

4.在地图中怎么标注点的位置呢?

首先标注点时需要知道经纬度,一般经纬度信息都从数据库中取出来了,只需要遍历标注点的组件即可,下面是代码:

<bm-marker v-for="m in markers":position="{lng:m.fieldLongitude, lat: m.fieldLatitude}":dragging="true"animation="BMAP_ANIMATION_BOUNCE"></bm-marker>

js部分的data中声明:

markers: {fieldLongitude:0,fieldLatitude:0,},

methods中的方法:

/*根据城市查询器材信息*/getSysEquipmentFieldByCity(){equipmentFieldByCity(this.queryParams).then(response => {this.fieldListByCity = response.data;//在地图上标注出来this.markers = this.fieldListByCity;//将当前地图拉到该省份去if(response.data.length>0){this.location.lng = this.fieldListByCity[0].fieldLongitude;this.location.lat = this.fieldListByCity[0].fieldLatitude;}});},

5.如何实现点击右边的地址,地图就定位到当前点击的地方呢?

地图效果

vue部分代码:

<!--   按照省市查询出来的器材信息       --><div class="equipment_count" ><a><div class="equipment_count_item"v-for="(item,i) in fieldListByCity" @click="getLocationByCity(item)"><span class="shuzi">{{i+1}}</span><span class="xinxi">{{item.fieldName}}<br/>{{item.fieldAddress==null?'暂无详细地址':item.fieldProvince+item.fieldCity+item.fieldAddress}}</span></div></a></div>

js部分的代码(点击事件):

/*点击场馆,把地图拉到当前位置*/getLocationByCity(item){/*地图上显示的当前位置*/this.location.lat = item.fieldLatitude;this.location.lng = item.fieldLongitude;this.fieldListByCity = item;this.markers =  this.fieldListByCity;console.log("信息", this.markers);},

至此,效果就实现了。

点击地址实现跳转地图

vue中如何在地图中标点…相关推荐

  1. 在matlab中对中国地图中的不同省份按照高度进行渲染

    直接上优化后的代码和效果图 colour_totall=128; % 载入地图数据 --各省的多边形数据 shp_data=shaperead('maps/bou2_4p.shp', 'UseGeoC ...

  2. vue中使用openlayers离线地图添加标点(二)

    接上一篇初始化地图文章 很多时候我们不只是需要单纯的看地图,那就太没意思了,当有标点位需求的时候呢就可以往下看啦. 1.需要引入标点所需的方法 这里替换上篇文章的引入即可 import 'ol/ol. ...

  3. vue 高德地图搜索功能_VUE中使用高德地图做轨迹添加功能,帮助轨迹展示

    准备工作 使用前准备 : 高德地图key 使用插件: vue-amap 1.npm安装vue-amap npm install vue-amap --save import AMap from 'vu ...

  4. vue+element中引入百度地图

    ❤️❤️❤️ Topology可视化绘图引擎 ❤️❤️❤️ 前言: 您好,我是csdn-尔嵘,如果您需要雨伞,可以去TaoBao搜:华,诚,荣,邦,百,货  谢谢您的支持! 1.首先你需要下载npm模 ...

  5. VUE中使用高德地图.做个轨迹添加器,为路线规划做数据

    准备工作 使用前准备 : 高德地图key 使用插件: vue-amap 1.npm安装vue-amap npm install vue-amap --save 2 在mai.js中引入 import ...

  6. Vue中集成高德地图API实现定位与自定义样式信息窗体

    场景 若依前后端分离版手把手教你本地搭建环境并运行项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/108465662 在上面 ...

  7. Vue 中使用高德地图api

    比较简单的原生方式 <template><div style="margin: 0px;padding: 0px"><div id="pan ...

  8. vue中引用高德地图根据经纬度计算两地距离

    vue中引用高德地图根据经纬度计算两地距离 一.示例图: npm安装 npm install vue-amap --save 在min.js文件中引入vue-amap import VueAMap f ...

  9. 在Vue中使用高德地图

    在Vue中使用高德地图 一.如何在Vue中引入基础高德地图 1.步骤一:注册并登录高德地图开放平台,申请密钥 2.步骤二:安装高德地图加载器 3.封装一个自定义地图组件,并初始化地图 二.根据关键词搜 ...

最新文章

  1. javascript_治愈JavaScript疲劳的研究计划
  2. Ucenter会员同步通讯登录原理(转)
  3. mysql 两列数据互换_mysql 实现互换表中两列数据方法简单实例
  4. 移动医疗APP(解决方案)下载
  5. SAP CRM Category创建场景
  6. Qt-Focus事件处理,重写qpushbutton实现背景切换鼠标样式及eventFilter的用法
  7. C++中 return,break,continue的用法
  8. 父类对象由子类实例化【转载】
  9. 怎样快速学会python_python入门如何更快的学习
  10. Cloud Foundry 在 Azure 中国正式发布
  11. MVC之 自定义过滤器(ActionFilterAttribute)
  12. Web.config中用customErrors可以自定义默认的出错页面
  13. Java面试题视频讲解汇总,持续更新中...
  14. 使用YUI3创建Popup弹出层
  15. 【漏洞】——心脏滴血(CVE-2014-0160)
  16. Belief Propagation 解决计算机视觉问题
  17. uni-app触发点击事件
  18. dashu java_Java中的大数
  19. 联想启天m420刷bios_联想启天M420c台式机装win7系统及bios设置教程(支持usb驱动)
  20. 解决deepin更换输入法之后系统报错、出现bug的问题

热门文章

  1. [剑指offer]面试题37:两个链表的第一个公共结点
  2. 递归函数中局部变量和全局变量
  3. Leetcode 35.搜索插入位置 二分
  4. CUDA Eclipse Nsight 不能打开工程 an error has occurred see the log file
  5. H - Hello Ms. Ze(树状数组套主席树,线段树上二分)
  6. Codeforces Round #381 (Div. 1) A. Alyona and mex 构造
  7. P2596 [ZJOI2006]书架 无旋treap 按照排名分裂
  8. 【SDOI2013】项链【莫比乌斯反演】【Polya定理】【递推式求通项】【数论】
  9. CF730F. Ber Patio
  10. Codeforces Round #729 (Div. 2)