【问题标题】:OpenLayers, Mapserver & TilecacheOpenLayers、地图服务器和 Tilecache
【发布时间】:2011-01-04 17:28:20
【问题描述】:

我想提高我的应用程序的性能,该应用程序使用 OpenLayers、Google Maps 和 MapServer with TileCache (http://tilecache.org) 显示专题地图。于是我跟着installation instructions,成功安装了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 基本上表示传递给 OpenLayers.Layer.WMS 构造函数的 URL 必须指向 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);

不幸的是它不起作用,这意味着我在切换 url 时看不到任何地图。知道有什么问题吗?也许这是我在 tilecache.cfg 中错过的配置设置,但我无法弄清楚正确的设置是什么。

有人对这个问题有一些经验吗?

【问题讨论】:

  • 同时,我可以解决一个因错过安装 Python MapScript 而引起的问题。使用 TileCacheConfig 工具,我现在可以查看我的地图,但仍然需要弄清楚如何让它们与我的底图正确对齐。
  • 您用于配置切片服务的分辨率和范围(在 tilecache.cfg 中使用的)是否与您在创建 OpenLayers 地图对象时使用的分辨率和范围相匹配?直接向 TileCache 脚本请求图像时,是否会收到某种错误消息?
  • 参数 maxResolution 与 OpenLayers.Map 对象和 Google Base Layer 的 maxResolution 参数匹配。参数 maxExtent 与 tilecache.cfg 中的参数 data_extent 和 bbox 匹配。它现在以某种方式工作,瓷砖缓存在我的磁盘上并显示在我的地图应用程序中。尽管 Mapserver 仍在抱怨“给出的 SRS 无效。SRS 必须对所有请求的图层都有效。”但这似乎是将我的图层从 epsg:4326 重新投影到 epsg:900313 的问题。

标签: javascript openlayers mapserver


【解决方案1】:

如果您对以上提到的问题有疑问而无法在此回答,请订阅 OpenLayers 邮件列表。到目前为止,我得到了订阅该列表的人的大力支持。
访问:http://openlayers.org/mailman/listinfo

【讨论】:

    猜你喜欢
    • 2012-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多