2010-01-13 5 views
2

Je voudrais améliorer les performances de mon application qui affiche des cartes thématiques en utilisant OpenLayers, Google Maps & MapServer avec TileCache (http://tilecache.org). Par conséquent, j'ai suivi le installation instructions et installé TileCache avec succès.OpenLayers, Mapserver & Tilecache

Dans mon application, j'ai le code suivant pour intégrer une nouvelle couche au-dessus de ma carte de base qui fonctionne bien jusqu'à présent:

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); 

Le documentation dit essentiellement que l'URL transmis aux OpenLayers.Layer.WMS Le constructeur doit pointer vers le script TileCache, c'est-à-dire tilecache.cgi ou tilecache.py. Malheureusement, cela ne fonctionne pas, ce qui signifie que je ne vois aucune carte lorsque je change l'URL. Une idée de ce qui pourrait être faux? Peut-être que c'est un paramètre de configuration que j'ai manqué dans tilecache.cfg mais je n'ai pas pu déterminer quels sont les bons paramètres.

Quelqu'un a-t-il des problèmes avec ce problème?

+0

En attendant, je pourrais résoudre un problème qui a été causé parce que j'ai manqué d'installer MapScript Python. Avec l'outil TileCacheConfig, je suis maintenant capable de voir mes cartes, mais je dois encore trouver comment les aligner correctement avec mon fond de carte. – auralbee

+0

Les résolutions et l'étendue que vous avez utilisées pour configurer le service de pavage (celles utilisées dans tilecache.cfg) correspondent-elles à celles que vous utilisez lors de la création de l'objet Map OpenLayers? Lorsque vous demandez une image directement au script TileCache, recevez-vous un message d'erreur? – amercader

+0

Le paramètre maxResolution correspond au paramètre maxResolution de l'objet OpenLayers.Map et du calque Google Base. Le paramètre maxExtent correspond au paramètre data_extent et bbox dans tilecache.cfg. Cela fonctionne maintenant en quelque sorte, les tuiles sont mises en cache sur mon disque et affichées dans mon application de carte. Bien que Mapserver se plaint toujours de "SRS invalide donné, SRS doit être valide pour toutes les couches demandées". mais cela semble être un problème avec la reprojection de mes couches d'epsg: 4326 à epsg: 900313. – auralbee

Répondre

1

Si vous avez des questions à propos des problèmes mentionnés ci-dessus auxquels vous ne pouvez pas répondre ici, abonnez-vous aux listes de diffusion OpenLayers. J'ai reçu un grand soutien de la part des personnes qui ont été abonnées à cette liste jusqu'à présent.
Visite: http://openlayers.org/mailman/listinfo