微信小程序实现地图定位

前言

地图定位这个功能相信大家在学习插件的时候都有过接触,那么在这篇文章中我来为大家介绍微信小程序中的地图定位功能,很简单哦

在此之前我们可以先去微信官方文档>小程序>组件>地图进行了解

点此进入小程序中map介绍

map组件提供了地图展示、交互、叠加点线面及文字等功能,同时支持个性化地图样式,可结合地图服务 API 实现更丰富功能。

1. 写一个map标签,并在其中写入经纬度属性,mark标记与点击事件

<view> 
      <map latitude="{{latitude}}" longitude="{{longitude}}" markers='{{marker}}' bindtap="click"></map>
  </view>

2.在js文件中的data声明首次加载的经纬度

data: {
    latitude: '',    //纬度
    longitude: '',    //经度
    marker:[],
}

 3.接着在onLoad生命周期中写入wx.getLocation方法

onLoad(options) {
        wx.getLocation({
          isHighAccuracy: true, 
          type: 'gcj02',
          success: (res) => {
            this.setData({
              latitude: res.latitude,
              longitude: res.longitude,
              marker: [{
                id:1,
                latitude: res.latitude,
                longitude: res.longitude,
                iconPath: '/image/401.png',
                width: '100rpx',
                height: '100rpx'
              }
              ]
            })
          }
        })
      },

这里marker里的iconPath是一个标点记号图片

                                                                                       (如右图)

4. 最后在单击事件中写入wx.openLocation方法,使用微信内置地图查看位置

 click(){
      wx.openLocation({
        latitude: this.data.latitude,
        longitude: this.data.longitude,
      })
    },

5.最后的最后我们需要在 app.json 文件中添加这么一段:

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

如此便可实现在小程序中的地图定位功能,点击后还可进入内置详细地图(实际和实际位置会有偏差),希望对大家有帮助

  • 1
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
由于微信小程序无法直接使用谷歌地图API,因此需要借助第三方库来实现谷歌地图定位。 1. 引入第三方库 在小程序中引入第三方库需要先下载对应的库文件,然后在项目根目录下创建一个文件夹,将库文件放入该文件夹中。接着,在app.json文件中的“usingComponents”字段中添加对应的组件路径。 例如,引入了一个名为“wx-google-map”的谷歌地图组件,组件路径为“/lib/wx-google-map/wx-google-map”,那么在app.json文件中需要添加如下代码: ``` "usingComponents": { "wx-google-map": "/lib/wx-google-map/wx-google-map" } ``` 2. 在页面中使用谷歌地图组件 在需要使用谷歌地图定位的页面中,在wxml文件中添加如下代码: ``` <wx-google-map id="map" latitude="{{latitude}}" longitude="{{longitude}}" markers="{{markers}}"></wx-google-map> ``` 其中,id为组件的唯一标识符,latitude和longitude为定位的经纬度信息,markers为标记点信息。 在js文件中,需要定义定位的经纬度信息和标记点信息。可以使用微信小程序自带的wx.getLocation()方法获取当前位置的经纬度。标记点信息可以通过定义一个数组来实现,每个标记点需要包含经纬度和标记点名称等信息。 例如,定义了一个名为“index”的页面,代码如下: ``` //index.js Page({ data: { latitude: 0, longitude: 0, markers: [] }, onLoad: function (options) { var that = this; wx.getLocation({ type: 'gcj02', success: function (res) { that.setData({ latitude: res.latitude, longitude: res.longitude, markers: [{ id: 0, latitude: res.latitude, longitude: res.longitude, title: '当前位置' }] }) } }) } }) ``` 通过以上代码,即可在“index”页面中实现谷歌地图定位功能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值