2010-01-13 59 views
2

我想提高我的應用程序的性能,該應用程序使用OpenLayers,谷歌地圖& MapServer與TileCache(http://tilecache.org)顯示專題地圖。因此,我遵循installation instructions併成功安裝了TileCache。OpenLayers,Mapserver&Tilecache

在我的應用我有下面的代碼嵌入工作正常,到目前爲止我的底圖之上的新層:

var wms_layer = new OpenLayers.Layer.WMS("WMS layer","localhost/cgi-bin/mapserv" 
     { 
     map: [path_to_my_mapfile], 
     layers: [list of layers], 
     transparent:true 
     }); 
my_map.addLayer(wms_layer); 

documentation基本上說,URL傳遞給OpenLayers.Layer.WMS構造函數必須指向TileCache腳本,即tilecache.cgi或tilecache.py。

var wms_layer = new OpenLayers.Layer.WMS("WMS layer","localhost/cgi-bin/tilecache/tilecache.cgi" 
      { 
      map: [path_to_my_mapfile], 
      layers: [list of layers], 
      transparent:true 
      }); 
my_map.addLayer(wms_layer); 

不幸的是,它不起作用,這意味着我切換網址時看不到地圖。任何想法可能是錯的?也許這是一個配置設置,我錯過了tilecache.cfg,但我無法弄清楚什麼是正確的設置。

有沒有人有這方面的經驗?

+0

與此同時,我可以解決一個由於錯過了安裝Python MapScript而導致的問題。使用TileCacheConfig工具,我現在可以查看我的地圖,但仍然需要弄清楚如何使它們與我的底圖正確對齊。 – auralbee 2010-01-15 11:34:47

+0

您用來配置平鋪服務(在tilecache.cfg中使用的服務)的分辨率和範圍是否與您在創建OpenLayers Map對象時使用的匹配?當直接向TileCache腳本請求圖像時,您是否收到某種錯誤信息? – amercader 2010-01-17 21:54:32

+0

參數maxResolution與OpenLayers.Map對象和Google Base Layer的maxResolution參數匹配。參數maxExtent與tilecache.cfg中的參數data_extent和bbox匹配。它現在可以工作,瓷磚緩存在我的磁盤上並顯示在我的地圖應用程序中。儘管Mapserver仍在抱怨「給出的SRS無效,SRS必須對所有請求的層都有效。」但是這似乎是將我的圖層從epsg:4326重新投影到epsg:900313的一些問題。 – auralbee 2010-01-18 15:14:16

回答