微信小程序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 数据缓存data(name, value)详解及实现
Jan 04 Javascript
Jquery练习之表单验证实现代码
Dec 14 Javascript
js中事件的处理与浏览器对象示例介绍
Nov 29 Javascript
Jquery getJSON方法详细分析
Dec 26 Javascript
深入理解JavaScript系列(26):设计模式之构造函数模式详解
Mar 03 Javascript
JavaScript更改原始对象valueOf的方法
Mar 19 Javascript
Jquery基础教程之DOM操作
Aug 19 Javascript
BootStrap表单宽度设置方法
Mar 10 Javascript
详解 vue.js用法和特性
Oct 15 Javascript
vue elementui form表单验证的实现
Nov 11 Javascript
微信小程序实现上拉加载功能示例【加载更多数据/触底加载/点击加载更多数据】
May 29 Javascript
详解JS WebSocket断开原因和心跳机制
May 07 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/05/23 PHP
php中stream(流)的用法
2014/03/25 PHP
php+mongodb判断坐标是否在指定多边形区域内的实例
2016/10/28 PHP
Laravel 中使用 Vue.js 实现基于 Ajax 的表单提交错误验证操作
2017/06/30 PHP
php中文语义分析实现方法示例
2019/09/28 PHP
Gambit vs CL BO3 第三场 2.13
2021/03/10 DOTA
列表内容的选择
2006/06/30 Javascript
JavaScript 事件冒泡简介及应用
2010/01/11 Javascript
JS字符串累加Array不一定比字符串累加快(根据电脑配置)
2012/05/14 Javascript
jsPDF导出pdf示例
2014/05/02 Javascript
简介JavaScript中的italics()方法的使用
2015/06/08 Javascript
D3.js中data(), enter() 和 exit()的问题详解
2015/08/17 Javascript
JS 实现计算器详解及实例代码(一)
2017/01/08 Javascript
javaScript字符串工具类StringUtils详解
2017/12/08 Javascript
详解nodeJs文件系统(fs)与流(stream)
2018/01/24 NodeJs
详解微信小程序input标签正则初体验
2018/08/18 Javascript
编写一个javascript元循环求值器的方法
2020/04/14 Javascript
JavaScript forEach中return失效问题解决方案
2020/06/01 Javascript
零基础写python爬虫之抓取百度贴吧并存储到本地txt文件改进版
2014/11/06 Python
python实现删除文件与目录的方法
2014/11/10 Python
在Python中使用元类的教程
2015/04/28 Python
快速入门python学习笔记
2017/12/06 Python
Python工程师必考的6个经典面试题
2020/06/28 Python
html5 浏览器支持 如何让所有的浏览器都支持HTML5标签样式
2012/12/07 HTML / CSS
html5绘制时钟动画
2014/12/15 HTML / CSS
微信浏览器取消缓存的方法
2015/03/28 HTML / CSS
库存图片、照片、矢量图、视频和音乐:Shutterstock
2021/02/12 全球购物
骨干教师培训感言
2014/01/16 职场文书
技校毕业生个人学习的自我评价
2014/02/21 职场文书
体育系毕业生求职自荐信
2014/04/16 职场文书
读书小明星事迹材料
2014/05/03 职场文书
工作经历证明书范文
2014/11/02 职场文书
预防艾滋病宣传活动总结
2015/05/09 职场文书
最感人的道歉情书
2015/05/12 职场文书
工作简报范文
2015/07/21 职场文书
php 文件上传至OSS及删除远程阿里云OSS文件
2021/07/04 PHP