我可以在不丢失地图的情况下更改页面吗

Can I change pages without losing the map

我有一个 SPA,有多个页面,其中一个是 MapPage。通过打开 MapPage,我正在执行法线贴图实例化:

map = new H.Map(document.getElementById('map-container'), defaultLayers.vector.normal.map, {..});

这就是问题所在。 通过转到其他页面,我丢失了 'map-container' html 元素和 domMarkers.

有没有办法重用 'map-container' html 或者我每次都必须实例化新的 map 对象?或者是否有重新绘制地图的选项canvas?

是的,你可以。其实实现的方法并不多,你必须在DOM中保留地图容器,以及对地图对象的引用,否则它们将被垃圾收集器释放。

它更像是一个单页应用程序问题,而不是 HERE Maps API for JS 的特定问题。

这也意味着您必须注意隐藏 (display: none;) 地图,使其出现在不希望出现的页面上。