可以在openlayer中使用nokia这里的REST map API吗?

Jac*_*ack 6 openlayers here-api

我正在尝试在OpenLayers中使用Nokia Here Maps REST API但我无法了解如何使用.

  1. 可以Nokia Here Maps在OpenLayers中使用吗?
  2. 是否Nokia Here Maps支持TMS?

有谁知道OpenLayers或OpenScales如何使用诺基亚地图?

Jas*_*Fox 6

虽然这在技术上是可行的,但除非您非常小心,否则极有可能违反Here Maps Location Services 条款和条件 - 特别是以下两个条款:

5限制

(ii)您不会......将多个静态地图图像拼接在一起,以显示>大于Location Platform Services文档中允许的地图;

第5(ii)小节将禁止在Open Layers中使用RESTful Map API,因为您将有效地将Map Images拼接在一起.

(iv)您不会删除或隐藏来自位置平台服务的任何版权或商标声明或其他类似通知或标记或图例,无论这些通知,标记,传说或其他品牌是否来自NAVTEQ或第三方;

第5(iv)小节旨在阻止某人使用地图数据而没有适当的归属,因为诺基亚本身有义务在其地图上显示版权,其中地图数据已从第三方购买.

避免此问题的最简单方法是使用适用于JavaScriptHERE Map API,该API可在基本计划中公开获得,并且已正确显示所有必要的版权信息.

如果您决定使用"打开图层"来显示诺基亚地图,则需要直接使用诺基亚的地图平铺服务(地图平铺服务确实支持TMS) - 但是,此服务仅适用于企业客户.要获得访问权限,您需要:

  1. 从" 定价计划"页面 "请求具有更多功能的自定义包" - 只需单击"与我们联系"按钮即可.
  2. 然后,您可以导出一个OpenLayers.Layer.XYZ图层,如下面的代码段所示:

(当然,您需要使用正确的URL,APP_ID和TOKEN)

var map = new OpenLayers.Map({
    div: "map",
    projection: "EPSG:900913",
    layers: [
        new OpenLayers.Layer.XYZ(
            "HereMap", 
            [
                "MAP_TILE_BASE_URL/${z}/${x}/${y}/256/png8?lg=ENG&app_id=YOUR_APP_ID&token=YOUR_TOKEN"
            ],
            {
                attribution: "&copy; 2013 Nokia</span>&nbsp;<a href='http://maps.nokia.com/services/terms' target='_blank' title='Terms of Use' style='color:#333;text-decoration: underline;'>Terms of Use</a></div> <img src='http://api.maps.nokia.com/2.2.4/assets/ovi/mapsapi/by_here.png' border='0'>",
                transitionEffect: "resize"
            }
        )
    ],
    center: [0, 0],
    zoom: 1
});

map.addControl(new OpenLayers.Control.LayerSwitcher());
Run Code Online (Sandbox Code Playgroud)

然而,这仍然不一定符合5(iv),因为需要在运行时从服务器获得版权归属的正确文本.