首页 > 编程语言 >uniapp微信小程序接入高德地图SDK

uniapp微信小程序接入高德地图SDK

时间:2024-01-23 17:13:10浏览次数:26  
标签:uniapp map 微信 Object 地图 版本 高德 SDK

小程序地图SDK原理 (注意:这一段要仔细看哦,很多人问我为什么你写的是高德地图SDK,却用的是腾讯地图,答案就在这里)

微信小程序开发,可以使用地图组件map,来进行地图显示、定位、显示大头针等基本功能,具体可以看官方文档:微信小程序map组件

map组件只提供一些基本的“硬件”,还需要“大脑”来驱动这些“硬件”。这个“大脑”就是腾讯地图、百度地图和高德地图提供的小程序SDK。其实这些SDK只是提供了一些网络请求接口,请求这些接口,能获得对应结构的网络数据,再驱动map组件来渲染。

比如线路规划:从A到B,只要确定起点经纬度和终点经纬度,传给SDK,SDK里就会发起网络请求,获得最佳路线,返回给你从A到B所途经的转折点经纬度数组,你把得到的经纬度数组传给map组件,map就能绘制路线。

高德SDK接口列表

高德地图提供的接口有:

方法用途
getPoiAround(Object) 获取周边的POI。
querykeywords、location、querytypes 字段于 1.1.0 版本新增。
getRegeo(Object) 获取地址描述信息。
location 字段于 1.1.0 版本新增。
getWeather(Object) 获取天气情况(实时和预报)。type、city字段于 1.1.0 版本新增。
getStaticmap(Object) 获取静态的地图图片。
getStaticmap(Object) 方法于 1.1.0 版本新增。
getInputtips(Object) 获取提示词。
getInputtips(Object) 方法于 1.2.0 版本新增。
getDrivingRoute(Object) 获取驾车路线。
getDrivingRoute(Object) 方法于 1.2.0 版本新增。
getWalkingRoute(Object) 获取步行路线。
getWalkingRoute(Object) 方法于 1.2.0 版本新增。
getTransitRoute(Object) 获取公交路线。
getTransitRoute(Object) 方法于 1.2.0 版本新增。
getRidingRoute(Object) 获取骑行路线。
getRidingRoute(Object) 方法于 1.2.0 版本新增。

具体接口用法,参考高德官方文档: AMapWX基本方法

接入SDK:

首先:下载SDK下载地址
下载完后,直接将amap-wx.js文件拖到工程libs目录下,这个目录随便建的,一定要放到miniprogram文件夹内,任何位置都可以,不然找不到。如图:

 引用:
1.在js文件开头引入并声明SDK对象

 

示例:

// miniprogram/pages/home/home.js
var amapFile = require('../../libs/amap-wx.js');
Page({
    /**
     * 页面的初始数据
     * 本地图:"../../images/hz_metro_map.png"
     * 网络图:
     */
    data: {
        weatherInfo: null,
    },
    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function() {
        this._getWeather();
    },
    /**
     * 获取天气信息
     */
    _getWeather: function() {
        var that = this;
        var myAmapFun = new amapFile.AMapWX({ key: '高德地图key' });
        myAmapFun.getWeather({
            success: function (data) {
                //成功回调
                console.log(data)
            },
            fail: function (info) {
                //失败回调
                console.log(info)
            }
        })
    }
})

遇到的坑

虽然很简单,但是使用起来,还是发现有坑。使用getPoiAround接口时,发现没有分页功能。其实高德服务度接口是有分页功能的,但是小程序SDK里并没有把page参数暴露出来,坑啊。我使用的SDK版本是:sdkversion: "1.2.0"

解决办法:在amap-wx.js文件里,找到getPoiAround接口,往参数里添加一个page字段即可,如下图:

 

这样就能正常分页了。

最后

高德地图的每日可调用次数上限,比腾讯地图的多一些。



标签:uniapp,map,微信,Object,地图,版本,高德,SDK
From: https://www.cnblogs.com/caihongmin/p/17982916

相关文章

  • H5调起微信扫一扫
    uni-app:importjWeixinfrom'jweixin-module';  letallowUrl=`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${WXappid}&redirect_uri=${encodeURIComponent(WXredirectUrl)}&response_type=code&scope=${WXscope}&state=STA......
  • 微信小程序高度适配
    参考文章【微信小程序:用rpx和wx.getSystemInfoSync()来适配屏幕高度-CSDN博客】1.小程序的任何机型的宽度固定为750rpx;为了适配不同设备的高度可以通过下面的公式转化750/设备宽度=屏幕设置高度/设备高度所以自适应屏幕应该设置的高度=750*设备高度/设备宽度2.获取设备信......
  • 微信小程序-wx:key的作用为什么不能使用index
    wxml中的代码为<viewclass="swiperContent"><swiper indicator-dots="true"autoplay="true"><swiper-itemwx:for="{{bannerList}}"wx:key="bannerId"><imagesrc="{{ite......
  • 利用Taro框架搭建基于React项目并编译成微信小程序
    Taro是一个开放式跨端跨框架解决方案,支持使用React/Vue/Nerv等框架来开发微信/京东/百度/支付宝/字节跳动/QQ/飞书小程序/H5/RN等应用。现如今市面上端的形态多种多样,Web、ReactNative、微信小程序等各种端大行其道。当业务要求同时在不同的端都要求有所表现的时候,针对不......
  • 微信小程序如何获取当前日期时间
    Hello大家好!我是咕噜铁蛋,获取当前日期时间是小程序中经常会用到的一个功能。因此,在本文中,我通过科技手段给大家收集整理了下,今天我将向大家介绍如何在微信小程序中获取当前日期时间的方法,并分享一些实用技巧和注意事项。一、获取当前日期时间的方法在微信小程序中,获取当前日期时间......
  • uniapp从地图上选择位置、获取当前位置、逆地址解析
     1.从地图选地点或者获取当前位置 getLocation(){ var_this=this; uni.chooseLocation({ success:(res)=>{//地图选点 console.log('位置名称:'+res.name); console.log('详细地址:'+res.address); console.log......
  • uniapp web-view h5中左滑会退出app解决办法,超简单
    只需要在app中有web-view组件的页面,onload中加入一下代码即可支持vue2,vue3constwebview=plus.webview.currentWebview();//获取窗口//eslint-disable-next-lineno-undefplus.key.addEventListener('backbutton',function(){//监听返回事件console.log......
  • 监听个人微信收款,实现扫码充值
    之前开发的博客论坛,随着用户量不断增加,服务器成本越来越大想着实现会员制回点服务器成本,经过一番研究,发现个人是不能开通微信的收款功能的参考了大部分个人站点,都是使用第三方卡密平台进行发卡我也去某密注册了一个账号,因为手续费、提现规则等各种原因,还是放弃了...业务场景分......
  • 微信小程序 canvas
    页面绑定canvas<viewstyle='width:0px;height:0px;overflow:hidden;'><!--//调试时候可用直接将canvas显示在页面上//调试完成将canvas隐藏<canvasid="canvasContaner"type="2d"></canvas>--><canvasid="canvasContaner&q......
  • 微信小程序开发uniapp
    1由于上面的uniapp要微信开发者路径 2.我们就按要求去下载一个微信开发者工具https://developers.weixin.qq.com/miniprogram/dev/devtools/stable.html 3.这里我们正常下载就可以然后打开后会有一个二维码,我们微信扫一下二维码就登陆成功了然后说回上面的下载的路径填写......