vue高德地图之玩转周边


Posted in Javascript onJune 16, 2017

前言:在之前的博客中,有成功引入高德地图,这是以前的地址  vue 调用高德地图。

因为一些需求,需要使用到地图的周边功能。

完整的项目代码请查看  我的github

一 、先看要实现的结果,参考了链家的周边,如图所示。

vue高德地图之玩转周边

 二 、原理分析

1、引入高德api,这个在之前的博客提到过,vue 调用高德地图。

2、使用地图的周边插件,这是  高德网站的api。

AMap.PlaceSearch //地点搜索服务插件,提供某一特定地区的位置查询服务

在插件中的各种方法中选取了searchNearBy的方法。

searchNearBy(keyword:String,center:LngLat,radius:Number,
callback:function(status:String,result:info/SearchResult))
 
// 根据中心点经纬度、半径以及关键字进行周边查询
radius取值范围:0-50000

3、构建查询方法

searchData: function (callback) {
  let keyWords = ['地铁线路', '大型购物广场', '三甲医院', '学校'] // 自选关键词
  let distance = [1000, 3000, 3000, 3000]
  // …………………………………………………………周边分类…………………………………………………………………………………………………………
  placeSearchOptions = { // 构造地点查询类
  pageSize: 10,
  pageIndex: 1,
  city: '021', // 城市
  map: map,
  visible: false
  }
  AMap.service('AMap.PlaceSearch', function () {
  map.clearMap() // 清除地图覆盖物
  placeSearch = new AMap.PlaceSearch(placeSearchOptions)
  for (let i = 0; i < keyWords.length; i++) {
   placeSearch.searchNearBy(keyWords[i], [121.44343879031237, 31.207570983863118], distance[i], callback)
  }
  })
  return callback
 },

在这个方法中,将所有的maker都查找出来,为了能够让后续不重新加载地图和插件,如有更好的方法 ,欢迎指出。

4、将maker的切换事件绑定在footer下的各个选项中。

/* 注册每项的点击事件,默认显示num0,也就是交通,实际上所有的数据已经请求到了,点击按钮只是用来切换maker */
  clickItem: function (index, buttons) {
  map.clearMap() // 清除地图覆盖物
  buttons.forEach(function (e, index) {
   e.isActive = false
  })
  buttons[index].isActive = true
  self.listCount = self.num[index].length
  self.listText = self.num[index]
  function onClick (e) {
   console.log(e)
  }
  for (let i = 0; i < self.num[index].length; i++) {
   marker = new AMap.Marker({
//   content: 'div',
   title: 'abc',
   icon: 'https://webapi.amap.com/theme/v1.3/markers/n/mark_b' + (i + 1) + '.png',
   position: [self.num[index][i].location.lng, self.num[index][i].location.lat],
   offset: new AMap.Pixel(-24, 5),
   zIndex: 1,
   map: map,
   clickable: true
   })
   AMap.event.addListener(marker, 'click', onClick)
  }
  return marker
  }

三、结果展示

vue高德地图之玩转周边

注意:为方便演示效果,此项目中使用了个人开发者的高德秘钥,请自行去替换成自己的。

完整的项目代码请查看  我的github

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
跨域表单提交状态的变相判断代码
Nov 12 Javascript
分页栏的web标准实现
Nov 01 Javascript
yepnope.js使用详解及示例分享
Jun 23 Javascript
angularjs基础教程
Dec 25 Javascript
js实现的动画导航菜单效果代码
Sep 10 Javascript
Linux使用Node.js建立访问静态网页的服务实例详解
Mar 21 Javascript
微信小程序开发之数据存储 参数传递 数据缓存
Apr 13 Javascript
详解Vue.js组件可复用性的混合(mixin)方式和自定义指令
Sep 06 Javascript
JS 实现获取验证码 倒计时功能
Oct 29 Javascript
webpack HappyPack实战详解
Oct 08 Javascript
Vue项目vscode 安装eslint插件的方法(代码自动修复)
Apr 15 Javascript
vue+axios全局添加请求头和参数操作
Jul 24 Javascript
JavaScript实现提交模式窗口后刷新父窗口数据的方法
Jun 16 #Javascript
JS 组件系列之BootstrapTable的treegrid功能
Jun 16 #Javascript
vue之数据交互实例代码
Jun 16 #Javascript
基于jQuery和CSS3实现APPLE TV海报视差效果
Jun 16 #jQuery
JS基于正则实现数字千分位用逗号分隔的方法
Jun 16 #Javascript
利用jquery去掉时光轴头尾部线条的方法实例
Jun 16 #jQuery
基于JS实现网页中的选项卡(两种方法)
Jun 16 #Javascript
You might like
《斗罗大陆》六翼天使武魂最强,为什么老千家不是上三宗?
2020/03/02 国漫
实用函数2
2007/11/08 PHP
解析阿里云ubuntu12.04环境下配置Apache+PHP+PHPmyadmin+MYsql
2013/06/26 PHP
jquery实现Ctrl+Enter提交表单的方法
2015/07/21 Javascript
javascript中字体浮动效果的简单实例演示
2015/11/18 Javascript
在WordPress中加入Google搜索功能的简单步骤讲解
2016/01/04 Javascript
Nodejs 获取时间加手机标识的32位标识实现代码
2017/03/07 NodeJs
JavaScript标准对象_动力节点Java学院整理
2017/06/27 Javascript
JS动态添加元素及绑定事件造成程序重复执行解决
2017/12/07 Javascript
解决vue打包报错Unexpected token: punc的问题
2020/10/24 Javascript
在vue中使用image-webpack-loader实例
2020/11/12 Javascript
js实现缓动动画
2020/11/25 Javascript
[03:20]2015国际邀请赛全明星表演赛
2015/08/08 DOTA
python中二维阵列的变换实例
2014/10/09 Python
解决uWSGI的编码问题详解
2017/03/24 Python
Python中函数eval和ast.literal_eval的区别详解
2017/08/10 Python
Win10下python 2.7.13 安装配置方法图文教程
2018/09/18 Python
python 使用值来排序一个字典的方法
2018/11/16 Python
python爬虫简单的添加代理进行访问的实现代码
2019/04/04 Python
python接口自动化测试之接口数据依赖的实现方法
2019/04/26 Python
Python线程指南分享
2019/11/19 Python
pytorch制作自己的LMDB数据操作示例
2019/12/18 Python
postman和python mock测试过程图解
2020/02/22 Python
如何把外网python虚拟环境迁移到内网
2020/05/18 Python
使用html5 canvas 画时钟代码实例分享
2015/11/11 HTML / CSS
vivo智能手机官方商城:vivo
2016/09/22 全球购物
迪士尼英国官方商店:shopDisney UK
2019/09/21 全球购物
酒店实习个人鉴定
2013/12/07 职场文书
幼儿教师考核制度
2014/01/25 职场文书
解除劳动合同证明书
2014/09/26 职场文书
少先队辅导员事迹材料
2014/12/24 职场文书
2015年共青团工作总结
2015/05/15 职场文书
2016党员入党决心书
2015/09/22 职场文书
2016见义勇为事迹材料汇总
2016/03/01 职场文书
2016年离婚协议书范文
2016/03/18 职场文书
2019年个人工作总结范文(3篇)
2019/08/27 职场文书