广告
返回顶部
首页 > 资讯 > 精选 >小程序中怎么引入高德地图
  • 119
分享到

小程序中怎么引入高德地图

2023-06-21 20:06:44 119人浏览 泡泡鱼
摘要

这篇文章将为大家详细讲解有关小程序中怎么引入高德地图,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。获得高德地图用户Key没有申请key需要先申请,进入高德开发平台 lbs.amap.com/

这篇文章将为大家详细讲解有关小程序中怎么引入高德地图,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

获得高德地图用户Key

没有申请key需要先申请,进入高德开发平台 lbs.amap.com/ , 在 开发指南 -> 获取key 中有详细操作步骤,在 控制台 -> 应用管理 -> 我的应用中可以查看我们创建的key。【相关学习推荐:小程序开发教程

我们可以把key封装在起来,这样就不用每次都找了,在 lib文件夹下新建一个 config.js 文件

var config = {  key: "你的key"}module.exports.config = config;

在js里导入 高德的js和key就可以调用高德地图api

var amapFile = require('../../lib/amap-wx.130.js'); //高德jsvar config = require('../../lib/config.js'); //引用我们的配置文件

获得当前位置

创建高德地图实例并命名为myAmapFun

var key = config.config.key;var myAmapFun = new amapFile.AMapWX({    key: key});

调用 getRegeo 方法

myAmapFun.getRegeo({    success: (data) => {        //保存位置的描述信息( longitude经度 latitude纬度 和位置信息 )        let textData = {};        textData.name = data[0].name;        textData.desc = data[0].desc        //将获取的信息保存        this.setData({          textData: textData,          longitude: data[0].longitude,          latitude: data[0].latitude,          // 给该经度纬度加上icon做标记,并调节大小          markers: [{            latitude: data[0].latitude,            longitude: data[0].longitude,            height: 30,            width: 35,            iconPath: '../../imgs/locationIcon/site1.png'          }]        })      },      fail: function(info){        console.log("get Location fail");      }        });

我们可以看下输出成功的data,里面的信息我们根据自己的需要取

在wxml文件中将地图显示出来,这边设置的是宽度100%,高度400px, scale是地图的缩放比例

<view class="map_container">  <map class="map" name="" longitude="{{longitude}}" latitude="{{latitude}}" scale="16"  show-location="true" markers="{{markers}}">  </map></view><view class="map_text">  <text class="h2">{{textData.name}}</text>  <text>{{textData.desc}}</text></view>

红色的标记点就是markers的数据;蓝色的标记点是show-location="true"展示的,但是真机预览就没有了

获取附近的点,只取前十个
data: {    # 当前位置经度    longitude: "",    # 当前位置纬度    latitude: "",    # 获取位置的标记信息    markers: [],    # 获取位置的位置信息    poisdatas : [],    # 简单展示信息使用的    textData: {}}

调用高德地图的getPoiAround接口根据关键字获取附近信息

get_current_PoiAround(){    var key = config.config.key;    var myAmapFun = new amapFile.AMapWX({      key: key    });    // getRegeo 获得当前位置信息(上面有用到过这个方法)    myAmapFun.getRegeo({      success: (data) => {        let textData = {};        textData.name = data[0].name;        textData.desc = data[0].desc        this.setData({          textData: textData,          longitude: data[0].longitude,          latitude: data[0].latitude,        })      },      fail: function(info){        console.log("get Location fail");      }        });    // 通过关键词获取附近的点    myAmapFun.getPoiAround({      // 改变icon图标的样式,点击前和点击后的我都暂时设成blue.svg, 如果不设置的话,默认就是一个红色的小图标      iconPath: '../../icon/keshan/blue.svg',      iconPathSelected: '../../icon/keshan/blue.svg',      // 搜索的关键字(POI分类编码),在官方文档https://lbs.amap.com/api/javascript-api/download/ 可以下载查看      querykeyWords: '购物',      querytypes: '060100',      success: (data) => {        const markers = data.markers;        const poisdatas = data.poisData;        let markers_new = []        markers.forEach((item, index) => {          // 只取10个点,超过就continue了,forEach是不能使用break和continue关键字的          if( index >= 10 ){            return;          }          // 将我们需要的markers数据重新整理一下存入markers_new中          markers_new.push({            id: item.id,            width: item.width,            height: item.height,            iconPath: item.iconPath,            latitude: item.latitude,            longitude: item.longitude,            // 自定义标记点上方的气泡窗口            // display | 'BYCLICK':点击显示; 'ALWAYS':常显 |            callout: {              padding: 2,              fontSize: 15,              bGColor: "#f78063",              color: '#ffffff',              borderRadius: 5,              display: 'BYCLICK',              content: poisdatas[index].name            }          })        })        //  将数据保存        this.setData({          markers: markers_new,          poisdatas: poisdatas        })      },      fail: function(info){        wx.showModal({title:info.errMsg})      }    })   },

调用getPoiAround接口返回成功的结果

bindmarkertap 激活 makertap图标点击事件,改变map_text里面内容

<view class="map_container">  <map class="map" id="map" name="" longitude="{{longitude}}" latitude="{{latitude}}" scale="16"  show-location="true" markers="{{markers}}" bindmarkertap="makertap">  </map>  </view><view class="map_text">  <text class="h2">{{textData.name}}</text>  <text wx:if="{{textData.distance != null}}">{{textData.distance}}m</text>  <text>{{textData.desc}}</text></view>

makertap 激活showMarkerInfo展示标记点信息,changeMarkerColor改变标记点颜色

makertap(e) {    var id = e.detail.markerId;    this.showMarkerInfo(id);    this.changeMarkerColor(id);},

之前不是说poisdatas存放该点的位置信息嘛,我们拿到 id 就可以取出来存到textData里面显示了

 // 展示标记点信息  showMarkerInfo(i) {    const {poisdatas} = this.data;    this.setData({      textData: {        name: poisdatas[i].name,        desc: poisdatas[i].address,        distance: poisdatas[i].distance      }    })  },

如果是点击的那个位置就把iconPath替换成orange.svg,其余都是blue.svg,并设置被点击的气泡 display为显示('ALWAYS'),将修改后的数据重新保存就可以啦

// 改变标记点颜色  changeMarkerColor(index) {    let {markers} = this.data;    for (var i = 0; i < markers.length; i++) {      if (i == index) {        markers[i].iconPath = "../../icon/keshan/orange.svg";         markers[i].callout.display = 'ALWAYS'      } else {        markers[i].iconPath = "../../icon/keshan/blue.svg";         markers[i].callout.display = 'BYCLICK'      }    }    this.setData({      markers: markers    })  },

关于小程序中怎么引入高德地图就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: 小程序中怎么引入高德地图

本文链接: https://www.lsjlt.com/news/300360.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 小程序中怎么引入高德地图
    这篇文章将为大家详细讲解有关小程序中怎么引入高德地图,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。获得高德地图用户Key没有申请key需要先申请,进入高德开发平台 lbs.amap.com/...
    99+
    2023-06-21
  • 小程序引入高德/百度地图坐标系详解
    小程序引入高德/百度地图坐标系详解 官网最近更新时间:最后更新时间: 2021年08月17日 高德官网之在原生小程序中使用的常见问题 链接 目前在小程序中使用 高德地图只支持以下功能 :地址描述...
    99+
    2023-09-09
    小程序 百度 前端
  • 微信小程序中如何实现高德地图路线规划
    这篇文章给大家分享的是有关微信小程序中如何实现高德地图路线规划的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。前言最近项目中做到相关网约车小程序。需要使用到地图中的路线规划,对3种...
    99+
    2022-10-19
  • vue中引入高德地图并多点标注的实现步骤
    vue中引入高德地图并多点标记 步骤: 通过vue的方法引入地图初始化地图,设置宽和高信息窗口实例遍历生成多个标记点 首先在项目的public下的index.html中引入地图 &l...
    99+
    2022-11-13
  • 【微信小程序】免费的高德地图api——获取天气(全过程)
    介绍 这里是小编成长之路的历程,也是小编的学习之路。希望和各位大佬们一起成长! 以下为小编最喜欢的两句话: 要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡。 一个人为什么要努力? 我见过最好的答案就是:因为...
    99+
    2023-09-01
    微信小程序 小程序 javascript
  • uniapp小程序如何使用高德地图api实现路线规划
    今天小编给大家分享一下uniapp小程序如何使用高德地图api实现路线规划的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。路线...
    99+
    2023-07-04
  • 微信小程序基于高德地图查找位置并显示文字
    这篇文章给大家分享的是有关微信小程序基于高德地图查找位置并显示文字的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.根据经纬度在 地图上查找定位  var key&nb...
    99+
    2022-10-19
  • 聊聊vue3中怎么使用高德地图api
    首先安装包并引入npm i @amap/amap-jsapi-loader --saveimport AMapLoader from '@amap/amap-jsapi-loader'使用官方介绍的方式进行加vue2 和 v...
    99+
    2023-05-14
    前端 Vue.js 数据可视化
  • uniapp小程序使用高德地图api实现路线规划的示例代码
    目录路线规划简介本例是驾车路线规划功能和位置选择地图api:chooseLocation2.完整源码组件路线规划 简介 路线规划常用于出行路线的提前预览,我们提供4种类型的路线规划,...
    99+
    2023-01-10
    uniapp高德地图路线规划 uniapp小程序使用高德地图 uniapp高德地图
  • 小程序地图组件怎么用
    本文小编为大家详细介绍“小程序地图组件怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“小程序地图组件怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。微信小程序地图组件升级,支持多套地图模板,开发者可根据...
    99+
    2023-06-26
  • 微信小程序中引入echart图表的方法
    这篇文章给大家分享的是有关微信小程序中引入echart图表的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。正文:准备:小程序开发环境,下载ECharts组件,gitHub地址:https://github.c...
    99+
    2023-06-08
  • 小程序怎么调用腾讯地图
    本篇内容介绍了“小程序怎么调用腾讯地图”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  腾讯地图提供了供小程序使用的SDK,可结合地图组件和...
    99+
    2023-06-26
  • 小程序的地图组件怎么用
    本篇内容主要讲解“小程序的地图组件怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“小程序的地图组件怎么用”吧!1.准备工作微信小程序当然属于腾讯大佬的(给大佬递茶):微信小程序开发者工具下载...
    99+
    2023-06-26
  • 微信小程序内地图怎么用
    这篇文章将为大家详细讲解有关微信小程序内地图怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言    在做新需求的时候发现个很尬的问题...
    99+
    2022-10-19
  • VUE中怎么调用高德地图获取当前位置
    这篇文章主要介绍“VUE中怎么调用高德地图获取当前位置”,在日常操作中,相信很多人在VUE中怎么调用高德地图获取当前位置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”VUE中怎么调用高德地图获取当前位置”的疑...
    99+
    2023-07-06
  • 微信小程序怎么引入Vant框架
    这篇文章主要介绍微信小程序怎么引入Vant框架,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!实现步骤 打开微信小程序的开发工具,进入项目。在项目的根目录文件上点击右键。选择在终端中打开。(注意是根目录) 在命令窗口中...
    99+
    2023-06-15
  • 小程序地图导航功能怎么实现
    今天小编给大家分享一下小程序地图导航功能怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。微信小程序的地址管理中,经常需...
    99+
    2023-06-26
  • 怎么在react页面中引入本地图片
    这篇文章将为大家详细讲解有关怎么在react页面中引入本地图片,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在react中引入本地图片的两种方式。方式一、非背景图片引入方式(1)-直接在img标签内部sr...
    99+
    2023-06-06
  • 微信小程序引入map组件并在地图上标点的实现代码
    目录复制粘贴即可map.wxmlmap.jsmap.wxss解决方法:高德地图导航,用处非常广泛,今天小编通过本文给大家分享微信小程序引入map组件并在地图上标点的实现方法,先给大家...
    99+
    2022-11-13
    微信小程序map组件 微信小程序map地图
  • 微信小程序怎么实现在地图上多地点标识
    这篇文章主要介绍了微信小程序怎么实现在地图上多地点标识的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇微信小程序怎么实现在地图上多地点标识文章都会有所收获,下面我们一起来看看吧。以下是具体做法:wxml1&nbs...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作