如何通过HTTPS调用HERE地图?
我在我的服务器上使用HTTPS,所以当我这样称呼时:
<script src="http://js.api.here.com/v3/3.0/mapsjs-core.js" type="text/javascript" charset="utf-8"></script>
<script src="http://js.api.here.com/v3/3.0/mapsjs-service.js" type="text/javascript" charset="utf-8"></script>
由于“混合内容”,浏览器会阻止请求,因此不会显示地图...
我尝试在脚本源上将“http”更改为“https”,但我遇到同样的问题,因为两个javascripts在其代码中都有“http”调用。
顺便说一下,后端是用Grails编写的,并且使用Spring Security Core插件来保护通道。
非常感谢您的帮助!
谢谢和问候!
答案 0 :(得分:11)
您需要从https加载API,此外还需要设置:
// Create a platform object to communicate with the HERE REST APIs
var platform = new H.service.Platform({
useCIT: true,
app_id: app_id,
app_code: app_code,
useHTTPS: true
});
Trick是useHTTPS:true,如文档中所述:HERE Developers Guide
答案 1 :(得分:2)
对于HTTPS:
对于&#34;相对协议&#34;,在头部加载CSS:
<link rel="stylesheet" type="text/css" href="//js.api.here.com/v3/3.0/mapsjs-ui.css" />
对于&#34;相对协议&#34;,在关闭BODY标记之前加载JS:
<script src="//js.api.here.com/v3/3.0/mapsjs-core.js" type="text/javascript" charset="utf-8"></script>
<script src="//js.api.here.com/v3/3.0/mapsjs-service.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" src="//js.api.here.com/v3/3.0/mapsjs-ui.js"></script>
<script type="text/javascript" src="//js.api.here.com/v3/3.0/mapsjs-mapevents.js"></script>
通过这些步骤,可以正确加载所有js和CSS。但是当SDK加载Tiles时你会遇到一些问题。要允许SDK正确加载HTTPS协议中所需的所有资产,您需要使用&#39;使用HTTPS&#39; Platform构造函数中的选项:
this.platform = new H.service.Platform({
'app_id': process.env.VUE_APP_HERE_APP_ID,
'app_code': process.env.VUE_APP_HERE_APP_CODE,
'useHTTPS': true
})