h5页面调用小程序的定位功能_微信小程序与H5内嵌网页交互实现地图定位功能...

小程序中有很多好用的API,整个项目我们是用vue实现的,使用小程序的内嵌网页功能完成交互。

使用小程序的< web-view >标签将vue项目在小程序中运行。大概的背景就是这样。接下来介绍具体怎么完成微信小程序与vue内嵌页面实现地图定位功能。

1.首先在index.html中引入微信jssdk

2.在小程序中

3.在vue组件中,点击获取地图位置按钮,触发事件。

//携带参数进入小程序,使用小程序地图定位API

fixPosition() {

//保存当前地址,以便从小程序中返回时使用

let jumpUrl = window.location;

//传递多个参数时用&连接

let path = `/pages/address/address?address=${this.warehouse.local}&jumpUrl=${jumpUrl}`

//使用navigateTo跳转到小程序路径中

window.wx.miniProgram.navigateTo({

url: path

})

}

4.在小程序address.js中

4.1在data中定义传递过来的变量,Id和jumpUrl

4.2在onload中,将从vue中传递过来的值赋给Id和jumpUrl

4.3getCenterLocation中调用小程序Api wx.getLocation,wx.chooseLocation获取定位,并且将进行参数返回处理,详细介绍如下

4.4在onReady中调用一下getCenterLoc

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
调用小程序定位功能可以通过微信JS-SDK实现,具体步骤如下: 1. 在小程序开发者工具创建一个小程序,并获取小程序的App ID。 2. 在微信公众平台,打开开发-基本配置页面,将JS接口安全域名设置为你的h5页面的域名。 3. 在h5页面引入微信JS-SDK,并初始化。 ``` <script src="http://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script> <script> wx.config({ debug: false, appId: '你的小程序AppID', timestamp: new Date().getTime(), nonceStr: '随机字符串', signature: '签名', jsApiList: [ 'getLocation' ] }); wx.ready(function() { wx.getLocation({ type: 'wgs84', success: function (res) { var latitude = res.latitude; // 纬度,浮点数,范围为90 ~ -90 var longitude = res.longitude; // 经度,浮点数,范围为180 ~ -180。 var speed = res.speed; // 速度,以米/每秒计 var accuracy = res.accuracy; // 位置精度 }, fail: function (res) { // 处理失败的情况 } }); }); </script> ``` 以上代码,我们使用了`wx.getLocation`方法获取用户的位置信息,其`type`表示定位方式,可以为`wgs84`或`gcj02`。如果获取成功,`success`回调函数会返回用户的经纬度、速度和精度等信息,如果获取失败,则会调用`fail`回调函数。 除了调用小程序定位功能,我们还可以通过第三方地图API实现位置导航功能。下面是一个使用高德地图API实现位置导航的示例: ``` <a href="http://uri.amap.com/navigation?from=当前位置&to=目的地&mode=car&policy=1&src=mypage&coordinate=gaode&callnative=1">导航到目的地</a> ``` 以上代码,我们使用了高德地图API的导航URI,其`from`表示起点位置,可以为`当前位置`或用户的经纬度;`to`表示终点位置,可以为具体地址或经纬度;`mode`表示导航方式,可以为`car`、`bus`或`walk`;`policy`表示导航策略,可以为`1`(较快捷)或`2`(少收费);`src`表示来源;`coordinate`表示坐标系,可以为`gaode`、`baidu`或`gps`;`callnative`表示是否调用客户端导航功能,可以为`0`或`1`。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值