【微信小程序 + 高德地图API 】键入关键字搜索地址,获取经纬度等

前言

又到熟悉的前言,接到个需求,要引入高德地图api,我就记录一下,要是有帮助记得点赞、收藏、关注😁。

后续有时间会慢慢完善一些文章:(画饼时间)

  1. map组件自定义气泡、mark标记点
  2. 后台管理系统如何引入高德地图,静态图 + 搜索地址获取经纬度
  3. 把这几篇连在一起(小程序的大部分出完,就给大家编辑个快速通道,其余的大家就先自己点专栏了哈)

高德地图入门指南:https://lbs.amap.com/api/wx/gettingstarted

一、准备工作

1. 申请地图 API 密钥

  • 若使用 腾讯地图 (微信小程序原生支持):
    前往 腾讯位置服务控制台 申请 API 密钥(Key),并在微信小程序后台配置「合法域名」(apis.map.qq.com 等)。
  • 若使用 高德地图
    前往 高德开放平台 申请小程序 SDK 密钥,并下载 高德微信小程序 SDK。

2. 高德地图申请key

到高德开发平台

官网直通道:https://lbs.amap.com/

3. 下载微信小程序SDK

我下载的时候是: AMapWX_SDK_V1.3.0

官网直通道:https://lbs.amap.com/api/wx/download

解压后得到:amap-wx.js ,你可以按照你的习惯放文件,我是放到小程序的utils文件夹下:

4.配置小程序服务器域名

登录微信公众平台,在 "设置"->"开发设置" 中设置 request 合法域名,将 https://restapi.amap.com 中添加进去。

微信公众平台:https://mp.weixin.qq.com/

二、封装自己的Map 组件

先确定自己的需求要求什么程度,再定义一下自己的组件。

map组件 官网通道:https://developers.weixin.qq.com/miniprogram/dev/component/map.html

这边就按照我的需求来咯,再阐述一下吧:

1. 需求明确

在页面上键入关键字,模糊查询出相关的地址信息,用户在下拉框内选择详细地址,则在地图上标记出来。


2. 代码实现

  • map 组件封装, 属性的说明如图:

官网直通车: https://developers.weixin.qq.com/miniprogram/dev/component/map.html

typescript 复制代码
   <map
     id="map"
     :longitude="center.longitude"
     :latitude="center.latitude"
     :markers="markers"
     :scale="mapScale"
     @regionchange="onRegionChange"
     @markertap="onMarkerTap"
     show-location
     :layer-style="layerStyleId"
     class="map"
   >
   </map>
  • 引入sdk,申明变量
typescript 复制代码
<script setup>
import { onMounted } from 'vue';
import amapFile from '../../utils/amap-wx.130.js'

const mapScale = ref(5) // 初始缩放级别:全国视图
const layerStyleId = ref('你的keys') //在高德上申请的key

searchMap = () => {
    let searchText = '键入的值'
    let myAmapFun = new amapFile.AMapWX({
      key: layerStyleId   
    })
    let that = this
    //根据关键词,给出相应的提示信息
    myAmapFun.getInputtips({  
      keywords: searchText,
      success: function (res) {
        console.log('success ---  这就是符合地址信息的多个地址了', res.tips[0].location)
       
      },
      fail: function (fail) {
        console.log('err', fail)
      }
    })
  }
</script>

官网接口文档,快速通道:https://lbs.amap.com/api/wx/reference/core#t7

官网接口字段说明文档:https://lbs.amap.com/api/webservice/guide/api-advanced/inputtips

POI分类列表,下载地址: https://lbs.amap.com/api/webservice/download

相关推荐
LYFlied9 小时前
从 Vue 到 React,再到 React Native:资深前端开发者的平滑过渡指南
vue.js·react native·react.js
爱喝白开水a9 小时前
前端AI自动化测试:brower-use调研让大模型帮你做网页交互与测试
前端·人工智能·大模型·prompt·交互·agent·rag
董世昌419 小时前
深度解析ES6 Set与Map:相同点、核心差异及实战选型
前端·javascript·es6
B站_计算机毕业设计之家9 小时前
豆瓣电影数据采集分析推荐系统 | Python Vue Flask框架 LSTM Echarts多技术融合开发 毕业设计源码 计算机
vue.js·python·机器学习·flask·echarts·lstm·推荐算法
吃杠碰小鸡10 小时前
高中数学-数列-导数证明
前端·数学·算法
kingwebo'sZone10 小时前
C#使用Aspose.Words把 word转成图片
前端·c#·word
xjt_090111 小时前
基于 Vue 3 构建企业级 Web Components 组件库
前端·javascript·vue.js
游戏开发爱好者811 小时前
日常开发与测试的 App 测试方法、查看设备状态、实时日志、应用数据
android·ios·小程序·https·uni-app·iphone·webview
我是伪码农11 小时前
Vue 2.3
前端·javascript·vue.js
夜郎king11 小时前
HTML5 SVG 实现日出日落动画与实时天气可视化
前端·html5·svg 日出日落