前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >微信小程序地图实时定位_小程序获取当前位置定位信息

微信小程序地图实时定位_小程序获取当前位置定位信息

作者头像
全栈程序员站长
发布于 2022-11-10 12:09:20
发布于 2022-11-10 12:09:20
4.7K05
代码可运行
举报
运行总次数:5
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

小程序获取当前位置,回到当前位置,地图定位,导航

效果

因为小程序更新了获取地理位置API接口,需要先在app.json中配置一下permission字段 ,不然会报微信小程序getLocation 需要在app.json中声明permission字段

app.json: (不知道具体位置可以看这里,这里有整个app.json的配置)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 "permission": {
    "scope.userLocation": {
      "desc": "你的位置信息将用于小程序位置接口的效果展示"
    }
  }

wxml:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!--pages/map/map.wxml-->

<!-- 这是地图部分 -->

<view class="map_container">
  <map class='map' longitude='{
  
  {longitude}}' latitude='{
  
  {latitude}}' scale='{
  
  {scale}}' markers='{
  
  {markers}}' controls="{
  
  {controls}}" bindcontroltap="bindcontroltap" polyline='{
  
  {polyline}}' circles="{
  
  {circles}}" bindmarkertap='bindmarkertap' bindcontroltap='bindcontroltap'
    show-location></map>
</view>


<!-- 以下是导航部分 -->

<view class='list-guide'>
<!-- 这里的坐标本应该是从服务器获取数据的,这时丈先写死在页面上了 -->
  <view bindtap="onGuideTap" data-latitude='39.92392' data-longitude='116.411885' data-bankName='最高人民检察院'>
    <image src='/images/banklist/daohang.png' class='list-guide-imgae'></image>
    <text class='list-guide-text'>导航</text>
  </view>
  <view bindtap='onbankTap' data-bankId="{
  
  {item.BANK_ID}}">
    <image src='/images/banklist/xiangqing.png' class='list-guide-imgae'></image>
    <text class='list-guide-text'>详情</text>
  </view>

</view>

宽度不是满屏,所以加个样式

wxss:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/* pages/map/map.wxss */
.map_container {
  height: 260px;
  width: 100%;
}

.map {
  height: 100%;
  width: 100%;
}




.list-guide{
  display: flex;  
  flex-direction: row; 
  justify-content:space-around;
  border-top: 1px solid #ededed;
  height: 80rpx;
}
.list-guide-imgae{
  height: 70rpx;
  width: 70rpx;
  margin-right: 20px;
  vertical-align: middle;
}
.list-guide-text{
  vertical-align: middle;
  line-height: 90rpx;
  font-size: 35rpx;
}

下面就是最重要的JS部分了()

JS:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// pages/map/map.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    addmissage: '选的位置',
    // markers	 Array	标记点
    stitle:'故宫',
    latitude: "",
    longitude: "",
    scale: 14,
    markers: [],
    //controls控件 是左下角圆圈小图标,用户无论放大多少,点这里可以立刻回到当前定位(控件(更新一下,即将废弃,建议使用 cover-view 代替))
    controls: [{
      id: 1,
      iconPath: '../../images/img/controls.png',
      position: {
        left: 15,
        top: 260 - 50,
        width: 40,
        height: 40
      },
      clickable: true
    }],
    distanceArr: []
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var that = this
    //获取当前的地理位置、速度
    wx.getLocation({
      type: 'wgs84', // 默认为 wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标
      success: function (res) {
        //赋值经纬度
        that.setData({
          latitude: res.latitude,
          longitude: res.longitude,

        })
      }
    })



  },
  //controls控件的点击事件
  bindcontroltap(e) {
    var that = this;
    if (e.controlId == 1) {
      that.setData({
        latitude: this.data.latitude,
        longitude: this.data.longitude,
        scale: 14,
      })
    }
  },
  //导航
  onGuideTap: function (event) {
    var lat = Number(event.currentTarget.dataset.latitude);
    var lon = Number(event.currentTarget.dataset.longitude);
    var bankName = event.currentTarget.dataset.bankname;
    console.log(lat);
    console.log(lon);
    wx.openLocation({
      type: 'gcj02',
      latitude: lat,
      longitude: lon,
      name: bankName,
      scale: 28
    })
  },



})

项目下载在这里

(只是地图部份,也有删减,非实际项目全部) 已更新

下面是我实际项目中的截图

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/188188.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月28日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
小程序map切换不同的标记点
图中的mapchart就是一个自定义组件,自定义组件为了规范通常放在conponents里。
算法与编程之美
2021/11/23
9350
微信小程序地图与位置相关操作
map组件的两个属性longitude和latitude表示当前地图中心的经度和纬度,和当前用户所在位置的经度和纬度是不同概念,无直接关系。例如,某然在广东省东菀市,但是可以打开北京天安门为中心的一幅地图,map的longitude和latitude是用来控制地图中心的参数,并不是用户实时的地理位置。
别团等shy哥发育
2023/02/25
2.8K0
微信小程序地图与位置相关操作
小程序里显示店铺地址,可在地图上查看,可点击导航到店铺
因为小程序内置的是腾讯地图,所以你需要到腾讯地图上查询经纬度。 首先,你要明确一个事情,任何位置都有它的 经纬度 ,所以你首先要获取到你想定位位置的经纬度。
编程小石头
2021/03/15
1.4K0
小程序里显示店铺地址,可在地图上查看,可点击导航到店铺
小程序里显示店铺地址,可在地图上查看,可点击导航到店铺
首先,你要明确一个事情,任何位置都有它的 经纬度 ,所以你首先要获取到你想定位位置的经纬度。
编程小石头
2021/03/14
2K0
小程序里显示店铺地址,可在地图上查看,可点击导航到店铺
小程序的地理位置与地图功能实现
地理位置和地图功能在小程序开发中被广泛应用,例如外卖配送、打车服务、旅游导航、社交签到等。微信小程序提供了 wx.getLocation 和 wx.openLocation 等 API 获取用户位置,并支持 腾讯地图 或 高德地图 进行地图显示和交互。本文将详细介绍 小程序地理位置的获取、地图组件的使用、标记点和路线规划的实现,并结合示例代码进行分析。
LucianaiB
2025/01/29
7640
微信小程序地图定位点不在视觉中心
后来通过wx.getLocation()获得自己的定位点的信息,在开发工具中打印经纬度,然后把数值赋值给data,发现还是不在视觉中心,而且此时的经纬度与百度地图给出的经纬度也有出入不一样...,这个怎么办....
天天_哥
2018/09/29
3.1K0
小程序地图插入图标后 怎么实现点击图标弹出窗口
<view class="detail-card-body1" hoverClass="hover"
算法与编程之美
2023/01/03
1.9K0
小程序地图插入图标后 怎么实现点击图标弹出窗口
微信小程序如何获取地理位置和进行地图导航
一.获取地理位置 由于小程序只提供了我们一个获取地理位置、速度的api,并没有获取的相关地位位置的信息等,我们利用百度地图的api来获取地位位置。 文档 1.申请ak 2.下载百度地图的api ,链
honey缘木鱼
2018/07/03
5K0
微信小程序 地图定位、选址,解决regionchange重复调用
【注意】getLngLat()这个方法做了抽取,因为不光初始化要调用,且在视野发生变化的时候也要调用
yechaoa
2022/06/10
2.1K0
微信小程序 地图定位、选址,解决regionchange重复调用
微信小程序----map组件实现检索【定位位置】周边的POI
bug: 页面顶部分类【汽车服务、汽车销售等】列表和页脚的详细地址在真机测试是会出现不显示问题? 造成原因:在小程序map组件的同一区域,map组件的视图层比普通的文本视图层要高,所以在真机会遮挡! 解决办法:将该文本视图采用cover-view,放在map中。 感谢: 感谢Lrj_estranged指出问题!
Rattenking
2021/02/01
1.5K0
微信小程序----map组件实现检索【定位位置】周边的POI
如何在小程序中使用地图
这篇文章中,我们将介绍小程序地图组件的使用,官方文档已经比较详细的介绍了map组件的使用,但是对于刚开始接触地图组件的同学,难免有些难以下手。本文将以Hello World为例对地图组件的使用列出一些demo,以方便后续开发。
百鬼夜行
2018/11/08
10.7K2
如何在小程序中使用地图
uni-app 微信小程序中关于 map 地图使用案例分享
 这篇文章,我将带领大家使用微信内置地图详细讲解关于如何配置地图、打开地图和使用地图。
跟着飞哥学编程
2022/12/02
6.1K0
微信小程序----map路线规划
bug: 页面脚的步行、骑行、驾车区域在真机测试是会出现不显示问题? 造成原因:在小程序map组件的同一区域,map组件的视图层比普通的文本视图层要高,所以在真机会遮挡! 解决办法:将该文本视图采用cover-view,放在map中。 感谢: 感谢Lrj_estranged指出问题!
Rattenking
2021/02/01
1.4K0
微信小程序----map路线规划
小程序实现地图方面功能和代码示例
小程序实现地图开发主要依赖于地图API,目前微信小程序支持腾讯地图API和百度地图API。以下是实现地图开发的基本步骤:
飞梦工作室
2023/08/29
7640
微信小程序经纬度获取地图导航(导航接入第三方)
API方法 wx.openLocation 我们需要用到微信官方文档的位置API wx.openLocation 其中的参数有很多,具体可参考官方文档:微信官方文档-位置
江一铭
2022/06/16
1.2K0
微信小程序经纬度获取地图导航(导航接入第三方)
微信小程序map组件 markers 展示当前位置&&修改标记点图标
当前位置展示: <view> <map id="myMap" show-location class="container" style="width: 100%; height: 800rpx;" /> </view> onShow: function() { this.mapCtx = wx.createMapContext('myMap') this.mapCtx.moveToLocation() } 改个标记点的默认样式: 方法一 <view> <map id="myMap
江一铭
2022/06/16
5K0
微信小程序map组件 markers 展示当前位置&&修改标记点图标
微信小程序----原生API实现【到这里去(目的地)】路线规划
width="560" height="315" src="http://rattenking.gitee.io/stone/video/rtpn.mp4" allowfullscreen="">
Rattenking
2021/02/01
1.1K0
微信小程序----原生API实现【到这里去(目的地)】路线规划
获取定位信息
获取当前的地理位置、速度。当用户离开小程序后,此接口无法调用。开启高精度定位,接口耗时会增加,可指定 highAccuracyExpireTime 作为超时时间。地图相关使用的坐标格式应为 gcj02。
Remember_Ray
2020/10/29
2.1K0
获取定位信息
杂谈小程序
需要判断设备,使用 wx.getSystemInfoSync(),获取设备信息,判断是否为 iPhoneX,设置一个全局变量(APP 实例下面)进行存储。根据是否为 iPhone X设置不同的样式即可。
GopalFeng
2020/09/24
4250
杂谈小程序
三小时零基础入门微信扫码点餐小程序 手把手带你开发一款云开发版点餐软件,店铺地图导航,外卖小程序,用户端和后厨端都有
我后面会教大家如何生成桌号二维码,只需要把对应桌号的二维码贴在餐桌上,用户点击 扫码点餐 识别二维码,即可获取到桌号信息。
编程小石头
2025/04/27
2740
三小时零基础入门微信扫码点餐小程序 手把手带你开发一款云开发版点餐软件,店铺地图导航,外卖小程序,用户端和后厨端都有
推荐阅读
相关推荐
小程序map切换不同的标记点
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验