我必须将现有openlayers 2应用程序的地图瓦提供程序从OpenStreetMaps更改为这里的映射。为了实现这一点,我尝试实现一种类似于UsingCustomTiles中描述的方法。
现在,我不知道如何将EPSG:3857坐标(界)映射到正确的z/x/y平铺地址。在Map Tile API开发人员指南中有一个计算示例来获得EPSG:4326坐标的正确的平铺地址,而且我认为它不需要重新投影我的坐标,因为地图和坐标是墨卡托投影的。
另外,我也不知道在openlayers映射中应该为maxExtent和maxResolution设置什么值,也许这就是在我的示例中UsingCustomTiles示例失败的原因。
谁能给我个提示吗?
发布于 2015-04-23 10:50:32
使用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
]);https://stackoverflow.com/questions/29774318
复制相似问题