微信小程序JS加载esmap地图的实例详解


Posted in Javascript onSeptember 04, 2019

一、在微信小程序里显示室内三维地图 需要满足的两个条件

调用ESMap室内地图需要用到小程序web-view组件,想要通过 web-view 调用ESMap室内地图需要满足以下 2 个条件:

1. 小程序是企业主体,微信 web-view 组件不对个人类型的小程序开放。

2. 您需要有一个自己的域名,在嵌入网页的时候需要在微信后台验证域名(只有自己域名下的网页才能被正确地显示哦,不能随便找一个公开链接)。

微信小程序JS加载esmap地图的实例详解

二、具体实现步骤

1、域名验证:

由于微信平台的规定,web-view 指向的地址,必须是在微信小程序后台登记的域名,否则会出现“不支持打开非业务域名,请重新配置”的提示。

首先我们在微信的后台找到开发 > 开发设置 > 业务域名模块,并填上你需要绑定的域名。

微信小程序JS加载esmap地图的实例详解

需要注意的是,这里的域名强制 https,需要配置好 https 证书,购买服务器的时候也要注意购买支持 https 的服务器。

接下来,我们需要下载一个微信的验证文件,放在你域名的根目录下,并且支持访问。

具体来说,如果您的域名www.esmap.cn,微信的验证文件是WATLNxupm4.txt,您需要确保https://www.esmap.cn/WATLNxupm4.txt 可以公开访问。确认无误之后,点击保存即可成功保存。

注:小程序所有用到的https请求都需要配置合法域名

2、嵌入带有室内地图的web-view

这个过程其实很简单,找到你微信小程序的.wxml文件,添加以下代码         

<web-viewsrc="https://www.esmap.cn /esmap.html"/>

其中 https://www.esmap.cn /esmap.html 是带有地图的 H5 页面

室内地图制作流程,您可以使用下面两种方式构建这个页面:

1) 从https://www.esmap.cn 官网中复制测试地图源码DEMO,在您自己的服务器进行免费部署。

2) 参考https://www.esmap.cn 室内三维地图SDK开发说明,在您已有的 H5 页面上添加自己制作的室内地图。

3、小程序 web-view 的一些提示

微信小程序的 web-view 只能是全屏的,并且会覆盖页面中的所有其他组件。

1) 如果想在网页中判断是否处于微信小程序中

var ua = window.navigator.userAgent.toLowerCase();
  if (ua.indexOf('micromessenger') == -1) {//说明不在微信中
    // 走不在小程序的逻辑
  } else {
    wx.miniProgram.getEnv(function(res) {
      if (res.miniprogram) {
        // 走在小程序的逻辑
      } else {
        // 走不在小程序的逻辑
      }
    })
  }

2) 如果网页想给小程序传递信息,可以通过 wx.miniProgram.postMessage 方法。

3) 小程序中可以通过 postMessage 方法监听网页传递回来的数据,但是该方法仅在特定时机(小程序后退、组件销毁、分享)触发,没法实时传递消息。

4) 网页跳转到小程序页面

wx.miniProgram.navigateTo({
   url: '/pages/esmap/esmap?location=' + obj.location
  });

三、更多效果!

微信小程序JS加载esmap地图的实例详解微信小程序JS加载esmap地图的实例详解

更多室内三维地图引擎例子功能体验

https://www.esmap.cn/sdk-demo/demo/index.html?tt=cnblogs5

总结

以上所述是小编给大家介绍的微信小程序JS加载esmap地图的实例,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
JQUERY THICKBOX弹出层插件
Aug 30 Javascript
jQuery实用技巧必备(中)
Nov 03 Javascript
JS实现的仿淘宝交易倒计时效果
Nov 27 Javascript
jQuery实现简单的回到顶部totop功能示例
Oct 16 jQuery
原生JS+CSS实现炫酷重力模拟弹跳系统的登录页面
Nov 01 Javascript
Vue下的国际化处理方法
Dec 18 Javascript
动态Axios的配置步骤详解
Jan 12 Javascript
vue.js select下拉框绑定和取值方法
Mar 03 Javascript
vue-cli3.0如何使用CDN区分开发、生产、预发布环境
Nov 22 Javascript
JS中的算法与数据结构之列表(List)实例详解
Aug 16 Javascript
vue prop属性传值与传引用示例
Nov 13 Javascript
解决vue打包报错Unexpected token: punc的问题
Oct 24 Javascript
深入浅出vue图片路径的实现
Sep 04 #Javascript
webpack 如何解析代码模块路径的实现
Sep 04 #Javascript
layui使用button按钮 点击出现弹层 弹层中加载表单的实例
Sep 04 #Javascript
微信小程序 自定义复选框实现代码实例
Sep 04 #Javascript
layui弹出框Tab选项卡的示例代码
Sep 04 #Javascript
在layui tab控件中载入外部html页面的方法
Sep 04 #Javascript
微信自定义分享链接信息(标题,图片和内容)实现过程详解
Sep 04 #Javascript
You might like
深入PHP运行环境配置的详解
2013/06/04 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
JavaScript进阶教程(第四课第一部分)
2007/04/05 Javascript
js 页面执行时间计算代码
2009/03/04 Javascript
jquery 得到当前页面高度和宽度的两个函数
2010/02/21 Javascript
JavaScript随机排序(随即出牌)
2010/09/17 Javascript
js选取多个或单个元素的实现代码(用class)
2012/08/22 Javascript
JS中Iframe之间传值的方法
2013/03/11 Javascript
基于dom编程中 动态创建与删除元素的使用
2013/04/17 Javascript
js跨域问题浅析及解决方法优缺点对比
2014/11/08 Javascript
jQuery插件pagination实现无刷新分页
2016/05/21 Javascript
BootStrap智能表单实战系列(六)表单编辑页面的数据绑定
2016/06/13 Javascript
一道优雅面试题分析js中fn()和return fn()的区别
2016/07/05 Javascript
基于JavaScript Array数组方法(新手必看篇)
2016/08/20 Javascript
微信小程序 开发之快递查询功能的实现
2017/01/09 Javascript
基于vue实现swipe轮播组件实例代码
2017/05/24 Javascript
详解JS数值Number类型
2018/02/07 Javascript
vue+vant 上传图片需要注意的地方
2021/01/03 Vue.js
Python编写一个闹钟功能
2017/07/11 Python
Python3列表List入门知识附实例
2020/02/09 Python
python列表返回重复数据的下标
2020/02/10 Python
python实现人机五子棋
2020/03/25 Python
Python判断远程服务器上Excel文件是否被人打开的方法
2020/07/13 Python
使用django自带的user做外键的方法
2020/11/30 Python
html5设计原理(推荐收藏)
2014/05/17 HTML / CSS
Original Penguin英国官方网站:美国著名休闲时装品牌
2016/10/30 全球购物
Android面试题及答案
2015/09/04 面试题
音乐表演专业毕业生求职信
2013/10/14 职场文书
保安员岗位职责
2013/11/17 职场文书
会计顶岗实习心得
2014/01/25 职场文书
卫生巾广告词
2014/03/18 职场文书
2014年监理工作总结范文
2014/11/17 职场文书
职业规划从高考志愿专业选择开始
2019/08/08 职场文书
教你用python实现一个无界面的小型图书管理系统
2021/05/21 Python
python中tkinter复选框使用操作
2021/11/11 Python
CSS子盒子水平和垂直居中的五种方法
2022/07/23 HTML / CSS