HERE地图在外部系统中是空白的
HERE map is blank in outsystems
我正在尝试在 OutSystems 工具上使用 HERE 地图实现 Web 应用程序。
在应用程序上我有一个 web 块,其中包含一个容器(将在其中绘制地图)、一个表达式(转义内容为 'no',以及下面的脚本作为值,因此可以插入在页面的 html 上)和一个尝试再次 运行 相同脚本的按钮(只是为了测试措施,看看它是否是在 div 之前执行的脚本的问题准备好了)。
<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>
<script type ="text/javascript">
// Initialize the platform object:
var platform = new H.service.Platform({
'app_id': '{APP_KEY}',
'app_code': '{APP_CODE}'
});
// Obtain the default map types from the platform object
var maptypes = platform.createDefaultLayers();
// Instantiate (and display) a map object:
var map = new H.Map(
document.getElementById('" + MapContainer.Id + "'),
maptypes.normal.map,
);
map.setBaseLayer(maptypes.satellite.traffic);
</script>
(MapContainer.Id
returns 容器的 id,如 HTML,因为该工具会自动创建元素的 id)
在下图中:
你可以在网页版块看到我使用的结构:
问题是:我正在使用的这段代码在 OutSystems 上不起作用,留下一个空白屏幕网页:
但是 HTML 文件中的相同代码工作正常。浏览器控制台上没有列出任何错误,在使用开发工具 (Chrome) 检查代码时,我注意到正在创建 canvas 但有 height = 0
(编辑此值没有任何改变)。
如果有人知道解决这些问题的方法,我很想听听。感谢您的关注。
在实例化地图时,似乎还没有计算和渲染地图容器的样式。因此,地图在那里,但高度为零像素。这可能与Outsystems如何创建视图有关。
请求浏览器在下一动画帧调整地图大小应该有所帮助:
requestAnimationFrame( () => map.getViewPort().resize() );
我正在尝试在 OutSystems 工具上使用 HERE 地图实现 Web 应用程序。
在应用程序上我有一个 web 块,其中包含一个容器(将在其中绘制地图)、一个表达式(转义内容为 'no',以及下面的脚本作为值,因此可以插入在页面的 html 上)和一个尝试再次 运行 相同脚本的按钮(只是为了测试措施,看看它是否是在 div 之前执行的脚本的问题准备好了)。
<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>
<script type ="text/javascript">
// Initialize the platform object:
var platform = new H.service.Platform({
'app_id': '{APP_KEY}',
'app_code': '{APP_CODE}'
});
// Obtain the default map types from the platform object
var maptypes = platform.createDefaultLayers();
// Instantiate (and display) a map object:
var map = new H.Map(
document.getElementById('" + MapContainer.Id + "'),
maptypes.normal.map,
);
map.setBaseLayer(maptypes.satellite.traffic);
</script>
(MapContainer.Id
returns 容器的 id,如 HTML,因为该工具会自动创建元素的 id)
在下图中:
你可以在网页版块看到我使用的结构:
问题是:我正在使用的这段代码在 OutSystems 上不起作用,留下一个空白屏幕网页:
但是 HTML 文件中的相同代码工作正常。浏览器控制台上没有列出任何错误,在使用开发工具 (Chrome) 检查代码时,我注意到正在创建 canvas 但有 height = 0
(编辑此值没有任何改变)。
如果有人知道解决这些问题的方法,我很想听听。感谢您的关注。
在实例化地图时,似乎还没有计算和渲染地图容器的样式。因此,地图在那里,但高度为零像素。这可能与Outsystems如何创建视图有关。
请求浏览器在下一动画帧调整地图大小应该有所帮助:
requestAnimationFrame( () => map.getViewPort().resize() );