当前位置:   article > 正文

微信小程序web-view嵌套的H5页面,导航功能,点击跳出标有目标地的地图_微信小程序webview自定义导航

微信小程序webview自定义导航

主要功能:用于展示公共场所等地

主要思路: 在H5页面中点击按钮,跳出web-view,进入小程序的某个页面,在这个页面中使用wx.openLocation加载微信地图等操作

在H5页面中

1、index.html页面引入微信依赖

以便于在H5页面中调用wx等官方api

<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>

 2、在确定跳转的页面使用官方跳转api

  1. //导航
  2. const guide = () => {
  3. //获取目标地点经纬度,将经纬度拼接成字符串
  4. let lnglat = `${applyData.value.jd}, ${applyData.value.wd}`;
  5. // 调用官方api,跳转至提前在小程序中写好的‘中转页’,拼接参数可参考wx.openLocation可配置参数按
  6. 需传进去
  7. wx.miniProgram.navigateTo({
  8. url: `/pages/map/index?lnglat=${lnglat}&address=${applyData.value.xxdz}`,
  9. });
  10. };

因为之前已经在index.thml中引入过微信的js,所以此处可放心调用wx.方法,需要在微信开发者工具中微信环境下方可正常使用, 浏览器会报错

在微信小程序中

1、创建地图中转页,在该页面接受参数并调用wx.openLocation

1、在app.json中添加中转页路由

2、在中转页的js文件中编写跳转代码

 

方便粘贴,代码如下:

  1. Page({
  2. data: {
  3. isBack: false
  4. },
  5. onLoad(options) {
  6. this.showWxMap(options);
  7. },
  8. onHide() {
  9. this.isBack = true
  10. },
  11. onShow() {
  12. if (this.isBack) {
  13. wx.navigateBack({
  14. delta: 1,
  15. })
  16. this.isBack = false
  17. }
  18. },
  19. showWxMap(options) {
  20. const {
  21. lnglat,
  22. address = '目的地'
  23. } = options;
  24. const [lng, lat] = lnglat.split(',')
  25. wx.openLocation({
  26. latitude: Number(lat),
  27. longitude: Number(lng),
  28. address,
  29. scale: 18,
  30. });
  31. },
  32. });

 以上代码已经包括了返回刚才web-view页面的方法,可以正常返回你需要导航之前的页面

结束

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/889353
推荐阅读
相关标签
  

闽ICP备14008679号