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 © <a href='http://here.com/'>Nokia</a>",
sphericalMercator: true,
wrapDateLine: true,
transitionEffect: "resize",
buffer: 1,
numZoomLevels: 21
}
);
map.addLayers([
normalDay
]);
我必须将现有 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 © <a href='http://here.com/'>Nokia</a>",
sphericalMercator: true,
wrapDateLine: true,
transitionEffect: "resize",
buffer: 1,
numZoomLevels: 21
}
);
map.addLayers([
normalDay
]);