vue高德地图之玩转周边

发布时间 - 2026-01-11 01:54:51    点击率:

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

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

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

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

 二 、原理分析

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
  }

三、结果展示

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

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

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


# vue  # 高德地图  # 地图  # vue调用高德地图实例代码  # 在vue项目中引入高德地图及其UI组件的方法  # 在vue中高德地图引入和轨迹的绘制的实现  # vue使用高德地图根据坐标定位点的实现代码  # 前端vue如何使用高德地图  # vue-cli中使用高德地图的方法示例  # VUE项目调用高德地图的详细步骤  # Vue接入高德地图的完整实例  # 关键词  # 这是  # 请查看  # 自己的  # 在这个  # 中心点  # 如有  # 博客  # 绑定  # 先看  # 大家多多  # 三甲  # 每项  # 如图所示  # 都查  # 购物广场  # 替换成  # 加载  # 使用了  # 链家 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel中的withCount方法怎么高效统计关联模型数量  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  网页设计与网站制作内容,怎样注册网站?  在centOS 7安装mysql 5.7的详细教程  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  如何快速打造个性化非模板自助建站?  Claude怎样写结构化提示词_Claude结构化提示词写法【教程】  佛山企业网站制作公司有哪些,沟通100网上服务官网?  微信小程序 require机制详解及实例代码  公司网站制作价格怎么算,公司办个官网需要多少钱?  如何在阿里云部署织梦网站?  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  长沙企业网站制作哪家好,长沙水业集团官方网站?  想要更高端的建设网站,这些原则一定要坚持!  高防服务器租用指南:配置选择与快速部署攻略  米侠浏览器网页图片不显示怎么办 米侠图片加载修复  夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化  教学论文网站制作软件有哪些,写论文用什么软件 ?  SQL查询语句优化的实用方法总结  如何快速配置高效服务器建站软件?  Linux系统运维自动化项目教程_Ansible批量管理实战  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  如何在 Pandas 中基于一列条件计算另一列的分组均值  Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制  米侠浏览器网页背景异常怎么办 米侠显示修复  如何在阿里云服务器自主搭建网站?  Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧  怎样使用JSON进行数据交换_它有什么限制  如何快速生成专业多端适配建站电话?  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  Java类加载基本过程详细介绍  简单实现Android验证码  Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理  Python结构化数据采集_字段抽取解析【教程】  如何在IIS中新建站点并解决端口绑定冲突?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  个人摄影网站制作流程,摄影爱好者都去什么网站?  Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例  Python图片处理进阶教程_Pillow滤镜与图像增强  Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】  laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)  Bootstrap整体框架之JavaScript插件架构  公司门户网站制作流程,华为官网怎么做?  如何用虚拟主机快速搭建网站?详细步骤解析  打造顶配客厅影院,这份100寸电视推荐名单请查收  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】