[英]Openlayers + Mapnik + Tilecache configuration problem
我試圖設置Mapnik + tilecache,但是當我在Tilecache.cfg和Openlayers中設置bbox參數時,在瀏覽器中看不到任何圖塊但是當我沒有指定bbox時,一切正常,我可以看到實際的地圖圖塊。
我想知道是否有人可以在代碼中指出問題。 我想我已經嘗試了所有東西(以我有限的能力)而不是真正理解為什么它不起作用。 順便說一句,所有地圖圖層(用於mapnik樣式)都來自PostGIS數據庫,並具有不同的投影,並由Mapnik動態轉換。
OpenLayers代碼:
var map, layer;
function init(){
var map, layer;
var options = {
numZoomLevels:20,
maxResolution: 360/512,
projection: "EPSG:4326",
maxExtent: new OpenLayers.Bounds(-2.0,50.0,2.0,54.0)
//not working when uncommented
};
map = new OpenLayers.Map( 'map', options);
layer = new OpenLayers.Layer.WMS( "Map24","tilecache.py?",
{
layers:'mapnik24',
format: 'image/png',
srs: 'EPSG:4326'
} );
map.addLayer(layer);
map.addControl( new OpenLayers.Control.PanZoomBar());
map.addControl( new OpenLayers.Control.MousePosition());
map.addControl( new OpenLayers.Control.LayerSwitcher());
map.addControl( new OpenLayers.Control.Permalink("permalink"));
if (!map.getCenter()) map.zoomToMaxExtent();
}
Tilecache.cfg:
[mapnik24]
鍵入= Mapnik的
映射文件= / somedit / map24.xml
BBOX = -2.0,50.0,2.0,54.0
水平= 20
SRS = EPSG:4326
projection = + proj = latlong + datum = WGS84
- 謝謝
OpenLayers.Bounds構造函數參數的順序為left,bottom,right top。 采用您正在使用的界限將您的JavaScript更改為:
var options = {
numZoomLevels:20,
maxResolution: 360/512,
projection: "EPSG:4326",
maxExtent: new OpenLayers.Bounds(50.0,-2.0,54.0,2.0)
//not working when uncommented
};
您是否嘗試直接插入tilecache.py的參數以查看是否生成了磁貼?
看看你的代碼,我想你要的是東邊50和54度,北緯2度的區域。 這個對嗎?
如果是,那么我認為你的界限是錯誤的。 -2度(南)應位於底部,2度(北)應位於頂部。 所以bbox應該是2.0,50.0,-2.0,54.0
。
另外,在OpenStreetMap中查看該區域看起來並不多,那真的是你想要的嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.