Here Map Tile API: 从 EPSG:3857 坐标中检索地图瓦片地址

Here Map Tile API: Retrieve Map tile address from EPSG:3857 coordinate

我必须将现有 openlayers 2 应用程序的地图图块提供程序从 OpenStreetMaps 更改为 Here 地图。为实现这一目标,我尝试实施 UsingCustomTiles.

中描述的类似方法

现在我不知道如何将我的 EPSG:3857 坐标(边界)映射到正确的 z/x/y 磁贴地址。 Map Tile API Developer's Guide 中有一个计算示例,用于获取 EPSG:4326 坐标的正确图块地址,我认为不需要重新投影我的坐标,因为地图和坐标是墨卡托投影的。

我也不确定在 openlayers 地图中为 maxExtent 和 maxResolution 设置什么值,也许这就是我的 UsingCustomTiles 示例失败的原因。

有人可以提供提示吗?

使用 OpenLayers.Layer.XYZ() 方法怎么样?像下面这样的东西应该可以工作:

var map = new OpenLayers.Map({
        div: "map",
        projection: "EPSG:900913",
        displayProjection: "EPSG:4326",
        numZoomLevels: 21
    });

var normalDay = new OpenLayers.Layer.XYZ(
    "normal.day",
    [
        "http://1.maps.nlp.nokia.com/maptile/2.1/maptile/newest/normal.day/${z}/${x}/${y}/256/png8?app_id=" + app_id + "&app_code=" + app_code,
        "http://2.maps.nlp.nokia.com/maptile/2.1/maptile/newest/normal.day/${z}/${x}/${y}/256/png8?app_id=" + app_id + "&app_code=" + app_code,
        "http://3.maps.nlp.nokia.com/maptile/2.1/maptile/newest/normal.day/${z}/${x}/${y}/256/png8?app_id=" + app_id + "&app_code=" + app_code,
        "http://4.maps.nlp.nokia.com/maptile/2.1/maptile/newest/normal.day/${z}/${x}/${y}/256/png8?app_id=" + app_id + "&app_code=" + app_code
    ], {
        attribution: "Tiles &copy; <a href='http://here.com/'>Nokia</a>",
        sphericalMercator: true,
        wrapDateLine: true,
        transitionEffect: "resize",
        buffer: 1,
        numZoomLevels: 21
    }
);
 map.addLayers([
        normalDay
    ]);