微信小程序显示地图与定位实现

微信小程序显示地图与定位实现

微信小程序显示地图与定位实现,比起用Vue实现要简单得多。下面说一下代码:
1.页面

<!--index.wxml-->
<view class='view'>
  <map longitude="{{longitude}}" latitude="{{latitude}}" markers="{{markers}}" covers="{{covers}}" show-location>
    <cover-view>
    经度:{{longitude}}
    </cover-view>
     <cover-view>
    纬度:{{latitude}}
    </cover-view>
    <cover-view>
    速度:{{speed}}
    </cover-view>
    <cover-view>
    精度:{{accuracy}}
    </cover-view>
  </map>
</view>

2.定位

//index.js
//获取应用实例
const app = getApp()
 
Page({
  data: {
    longitude:116.4965075,
    latitude: 40.006103,
    speed:0,
    accuracy:0
  },
  //事件处理函数
  bindViewTap: function() {
   
  },
  onLoad: function () {
    var that=this
    wx.showLoading({
      title:"定位中",
      mask:true
    })
    wx.getLocation({
      type: 'gcj02',
      altitude:true,//高精度定位
      //定位成功,更新定位结果
      success: function (res) {
        var latitude = res.latitude
        var longitude = res.longitude
        var speed = res.speed
        var accuracy = res.accuracy
       
        that.setData({
          longitude:longitude,
          latitude: latitude,
          speed: speed,
          accuracy: accuracy
        })
      },
      //定位失败回调
      fail:function(){
        wx.showToast({
          title:"定位失败",
          icon:"none"
        })
      },
 
      complete:function(){
        //隐藏定位中信息进度
        wx.hideLoading()
      }
 
    })
  },
})

3.样式(全屏)

/**index.wxss**/
/* 不加page无法全屏 */
page {
  height: 100%;
}
 
.view {
  width: 100%;
  height: 100%;
}
 
map {
  width: 100%;
  height: 100%;
  background-color: red;
}

效果图:

  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
由于微信小程序无法直接使用谷歌地图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”页面中实现谷歌地图定位功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值