三分钟学会微信小程序地图定位

这篇具有很好参考价值的文章主要介绍了三分钟学会微信小程序地图定位。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

地理定位-wx.getLocation


掌握小程序中的定位api:getLocation和chooseLocation
分析:
用户进入这个页面时,就要获取当前位置。这个功能有现成的api。
getLocation
获取用户所在位置的经纬度。在小程序中调用这个接口时必须先在 app.json 中申请调用权限(开发环境可以省略)。

app.json

{
  "requiredPrivateInfos": [
    "getLocation"
  ],
  "permission": {
    "scope.userLocation": {
      "desc": "你的位置信息将用于小程序位置接口的效果展示"
    }
  },
}

  

微信小程序地图,微信小程序,小程序



这个弹层会出现一次,点击允许之后就不会在出现。

业务代码

Page({
  onLoad() {
    this.getLocation()
  },
  async getLocation() {
    const res = await wx.getLocation() // 要提前申请权限
    console.log(res)
  },
})



wx.getLocation返回的结果格式大致如下:

accuracy: 65
errMsg: "getLocation:ok"
horizontalAccuracy: 65
latitude: 30.88131
longitude: 114.37509
speed: -1
verticalAccuracy: 65

腾讯位置服务—逆地址解析 QQMap.reverseGeocoder

 

思考

wx.getLocation 只能得到经纬度信息,如何根据经纬度获取到所在地的名称呢?

微信小程序地图,微信小程序,小程序


逆地址解析-reverseGeocoder
本接口提供由坐标 → 坐标所在位置的文字描述的转换,输入坐标返回地理位置信息和附近poi列表
文档地址:微信小程序JavaScript SDK | 腾讯位置服务
步骤
1导入 QQMapWX 并设置好 key

微信小程序地图,微信小程序,小程序


2 业务代码
在代码中补充getPoint方法:
1调用接口把经纬度转换成对应位置的文字
2保存文字到address

// 

// 导入位置服务实例
import QQMap from '../../../utils/qqmap'

Page({
  onLoad() {
    // 获取用户经纬度
    this.getLocation()
  },

  // 获取用户的位置
  async getLocation() {
    // 调用小和序 API 获取用户位置
    const { latitude, longitude } = await wx.getLocation()
    this.getPoint(latitude, longitude)

    console.log('终点位置:', latitude, longitude)
  },

  getPoint(latitude, longitude) {
    // 逆地址解析(根据经纬度来获取地址)
    QQMap.reverseGeocoder({
      location: [latitude, longitude].join(','),
      success: ({ result: { address } }) => {
        // console.log(address)
        // 数据数据
        this.setData({ address })
      },
    })
  }
})



3渲染页面
 

 <van-cell-group border="{{false}}" title="当前地点">
  <van-cell title="{{address}}" border="{{false}}">
    <text bind:tap="chooseLocation" class="enjoy-icon icon-locate">重新定位</text>
  </van-cell>
</van-cell-group>

微信小程序地图,微信小程序,小程序

QQMap地点搜索—search

微信小程序地图,微信小程序,小程序


根据当前的定位,调用 QQMap.search() 找到周边的信息。
QQMap.search
搜索周边poi(Point of Interest),比如:“酒店” “餐饮” “娱乐” “学校” 等等 文档地址:微信小程序JavaScript SDK | 腾讯位置服务


调用了QQMap.search

// house_pkg/pages/locate/index.ts

// 导入位置服务实例
import QQMap from '../../../utils/qqmap'

Page({
  onLoad() {
    // 获取用户经纬度
    this.getLocation()
  },

  // 获取用户的位置
  async getLocation() {
    // 调用小和序 API 获取用户位置
    const { latitude, longitude } = await wx.getLocation()
    // 
    this.getPoint(latitude, longitude)

    console.log('终点位置:', latitude, longitude)
  },

  getPoint(latitude, longitude) {
    // 省略其他....
    
    QQMap.search({
      keyword: '住宅小区', //搜索关键词
      location: [latitude, longitude].join(','), //设置周边搜索中心点
      page_size: 5,
      success: (result) => {
        console.log(result)
        // 过滤掉多余的数据
        const points = result.data.map(({ id, title, _distance }) => {
          return { id, title, _distance }
        })

        // console.log(points)
        // 渲染数据
        this.setData({ points })
      }
    })
  },
})


视图渲染

<van-cell-group border="{{false}}" title="附近社区">
  <van-cell
    wx:for="{{points}}"
    wx:key="id"
    title="{{item.title}}"
    link-type="navigateTo"
    url="/house_pkg/pages/building/index?point={{item.title}}"
    is-link
  />
</van-cell-group>

重新定位-wx.chooseLocation 效果

微信小程序地图,微信小程序,小程序

微信小程序地图,微信小程序,小程序


api 会自动打开地图
申请权限
chooseLocation
获取用户指定位置的经纬度。在小程序中调用这个接口时必须要在 app.json 中申请调用权限
参考代码文章来源地址https://www.toymoban.com/news/detail-729791.html

{
  "requiredPrivateInfos": [
    "chooseLocation"
  ]
}

参考代码

// 选择新的位置
async chooseLocation() {
  // 调用小程序 API 获取新的位置
  const { latitude, longitude } = await wx.chooseLocation()
  // 获取新的位置附近的小区
  this.getPoint(latitude, longitude)

  console.log('起点位置:', latitude, longitude)
},

getPoint(latitude, longitude) {
  // 显示loading提示
  wx.showLoading({
    title: '正在加载...',
  })

  // 逆地址解析(根据经纬度来获取地址)
  QQMap.reverseGeocoder({
    location: [latitude, longitude].join(','),
    success: ({ result: { address } }) => {
      // console.log(address)
      // 数据数据
      this.setData({ address })
    },
  })

  QQMap.search({
    keyword: '住宅小区', //搜索关键词
    location: [latitude, longitude].join(','), //设置周边搜索中心点
    page_size: 5,
    success: (result) => {
      // console.log(result)
      // 过滤掉多余的数据
      const points = result.data.map(({ id, title, _distance }) => {
        return { id, title, _distance }
      })

      // console.log(points)
      // 渲染数据
      this.setData({ points })
    },
    fail: (err) => {
      console.log(err.message)
    },
    complete: () => {
      // 隐藏loading提示
      wx.hideLoading()
    },
  })
},

模板

<view class="locate">
  <van-cell-group border="{{false}}" title="当前地点">
    <van-cell title="{{address}}" border="{{false}}">
      <text bindtap="chooseLocation" class="enjoy-icon icon-locate">重新定位</text>
    </van-cell>
  </van-cell-group>

到了这里,关于三分钟学会微信小程序地图定位的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序使用高德地图获取当前定位

    1.在腾讯地图官网注册一个key(创建一个应用会自动生成一个key,详细步骤如图) 腾讯位置服务 - 立足生态,连接未来 注意点:开通webserviceAPI服务:控制台 -应用管理 - 我的应用 -添加key- 勾选WebServiceAPI - 保存 (小程序SDK需要用到webserviceAPI的部分服务,所以使用该功能的KEY需

    2024年02月06日
    浏览(64)
  • 五分钟学会在微信小程序中使用 vantUI 组件库

    我们在开发微信小程序时,设计和实现好用的用户界面无疑是至关重要的一步。但是微信小程序官方自带的 UI 组件库无法满足很多使用场景,这个时候就需要我们使用一些第三方的 UI 组件库。而 vant Weapp 作为一款优秀的前端 UI 组件库,可以帮助我们快速地构建漂亮而且易用

    2023年04月24日
    浏览(73)
  • 使用百度地图坐标在微信小程序中定位显示

    一.需求描述:设备在上线时需要在上线点记录所在地点的坐标和位置描述信息 分别需要实现三个功能 1. 根据坐标点显示位置信息 , 图1 中的红色坐标点跳转到 图2 时,在腾讯地图上标出所在坐标点,并显示地点信息; 2. 定位当前所在位置 :点击蓝色图标,会定位当前所在位

    2024年02月09日
    浏览(82)
  • 如何为微信小程序添加定位导航和地图标注功能

    为微信小程序添加定位导航和地图标注功能 微信小程序的开发中,与地图有关的功能在一些实际应用中显得尤为重要。本文将通过实现定位导航和地图标注两个功能,帮助大家更好的理解微信小程序中与地图相关的开发技术。 一、定位导航功能的实现 获取用户地理位置信息

    2024年02月03日
    浏览(64)
  • 微信小程序获取定位显示在百度地图上位置出现偏差

    背景: 微信小程序端获取手机定位坐标,以及正确展示位置 通过详细地址解析为定位坐标显示在小程序端以及PC后台 小程序获取的地理坐标与百度地图坐标相互转化 目前国内主要有以下三种坐标系: WGS84:为一种大地坐标系,也是目前广泛使用的GPS全球卫星定位系统使用的

    2024年02月04日
    浏览(57)
  • uniapp实现微信小程序用户实时位置定位并显示地图

    目前,我们可以通过一些现成的api来实现此功能。下面我将介绍一下通过腾讯位置服务来实现此功能的具体操作流程。 1、在Hbuilder x中对项目进行权限开放 进入到manifest.json文件中   2、获取调用腾讯位置服务所需的key 登录腾讯地图api: 腾讯位置服务 - 立足生态,连接未来

    2024年02月09日
    浏览(59)
  • 微信小程序使用高德地图实现检索定位附近周边的POI功能示例

           解压下载的文件得到 amap-wx.js ,在创建的项目中,新建一个名为 libs 目录,将 amap-wx.js 文件拷贝到 libs 的本地目录下。 登录微信公众平台,在 \\\"设置\\\" → \\\"开发设置\\\" 中设置 request 合法域名,将  https://restapi.amap.com  中添加进去,如下图所示:    

    2024年02月03日
    浏览(70)
  • uni-app微信小程序结合腾讯地图获取定位导航以及城市选择器

    目录 第一步:登录小程序公众平台==设置==第三方设置  第二步:登录腾讯地图申请属于自己小程序的key  第三步:找到腾讯地图的插件​​​​​​​  第四步:添加插件与允许授权  第五步:使用    腾讯地图后台:https://lbs.qq.com/dev/console/application/mine    添加key,授权使

    2023年04月12日
    浏览(92)
  • 关于微信小程序调用H5腾讯地图API获取定位信息提示失败问题--解决办法之一

    在跳转到H5页面加载腾讯地图API获取定位信息时,“真机调试”、“开发模式”都可以使用 web-view 组件访问我需要的路径。只有“体验版”、“线上版本”会出现这个错误提示。正常加载都是正常的,但是因为腾讯地图API在获取定位信息的同时,会在页面上内嵌一个隐藏的

    2024年04月26日
    浏览(62)
  • 微信小程序学习实录6(百度经纬度采集、手动调整精度、H5嵌入小程序、百度地图jsAPI、实时定位、H5更新自动刷新)

    viewport,手机端的适配; layui,手机端界面UI; jweixin-1.6.0,H5与微信小程序通信的API接口文件 getBdGeo ();定位封装函数; marker.addEventListener(\\\'dragend\\\', function () {}, 监听标注事件,手动调整景点 getCurrentPosition, 加载即自动采集当前位置的经纬度信息和城市地址信息; 通过web-view

    2024年02月05日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包