可以在此处离线使用HERE JavaScript API吗?

时间:2019-04-05 20:43:14

标签: javascript here-api

关于HERE JavaScript API,我有一个非常基本的问题。我最近开始研究HERE Maps,甚至有一个Android应用程序与HERE的android SDK一起使用。在一个应用程序中,我可以下载地图数据并离线使用该应用程序。不过,在此之后,我还要使用HERE JavaScript API为台式机和移动设备创建一个项目。

所以,我的问题是,无论是在移动设备还是在台式机上使用,HERE JavaScript API都可以像Android SDK一样脱机工作吗?它是相同的过程-下载数据并指向它吗?还是HERE JavaScript API需要持续在线使用?我在HERE文件上找不到直接的答案,因此任何澄清都将非常有帮助。谢谢!

1 个答案:

答案 0 :(得分:1)

否,HERE JavaScript API无法像Android SDK一样脱机工作,因为与HERE JavaScript API不同,用于移动设备的HERE SDK还具有路由,地理编码等API。这些API可以脱机工作。

HERE JavaScript API仅可以永久存储给定区域和缩放级别范围内的栅格地图图层的内容。有关更多详细信息,请参见H.Map#storeContent

它可用于在没有互联网连接时启用地图渲染,并减少经常访问的地图区域的下载流量。当前,这仅支持栅格图块(不支持矢量图块!)。 请参见示例:

  map.storeContent(
   function(req) {
     if (req.getState() === H.util.Request.State.COMPLETE) {
      console.log('Raster tiles of maps base layer stored successfully.');
     }
     else if(req.getState() === H.util.Request.State.ERROR) {
       console.log('Something happened, storing the content was not successful.');
     }
   },
    map.getViewModel().getLookAtData().bounds.getBoundingBox(),
    map.getZoom(), 
    map.getZoom() + 2
  );

上面的代码存储当前视口从当前缩放到当前缩放+ 2的栅格图块。 之后,您可以关闭wifi并缩放地图以查看从浏览器缓存中加载的图块。