【问题标题】:How to get mapserver to work如何让地图服务器工作
【发布时间】:2012-09-09 10:47:12
【问题描述】:

我已经使用 MapServer 大约 2 个小时了,但开始使用它似乎有点复杂。 所以这是我的问题
有什么方法可以让 mapserver 显示整个世界的简单地图,我可以在其中移动地图以查看世界的不同部分?
(从我目前学到的知识来看,它只是向您显示您通过 mapserv cgi 的地图,并且地图是静态的,不能移动!)

编辑: 我仍然想知道我是否可以为整个世界或一个国家或其他任何地方制作一张简单的地图!我应该自己为所有内容编写 .Map 文件吗?

【问题讨论】:

    标签: apache gis mapserver


    【解决方案1】:

    好的,所以在查找并挣扎了一下之后,我找到了一些 JS 库来执行此操作,其中之一是 Open Layers。您只需在 html 页面的开头引用它,例如:

    <script src="http://openlayers.org/api/OpenLayers.js"></script>
    

    然后您可以通过将 MapServer 数据如下绑定到 OpenLayers 初始化函数来为您的地图设置缩放和移动选项。

    Var map, layer;
    
    function init(){
        map = new OpenLayers.Map( 'map' );
        layer = new OpenLayers.Layer.MapServer( "NAME",
           "http://localhost/cgi-bin/mapserv", {map: 'PATH_TO_.MAP'} );
        map.addLayer(layer);
        map.zoomToMaxExtent();
    }
    

    spatialhorizons.com 中可以找到很多很酷的教程。
    希望这对某人有帮助:)

    【讨论】:

    • +1 但在 OpenLayers 中使用 WMS 图层并配置 MapServer 以提供 WMS 可能会更好。 OpenLayers 中的 Layer.Mapserver 对象已弃用
    【解决方案2】:

    MapServer 就是这样,一个 MAP SERVER。听起来您当前正在使用 cgi 脚本来显示托管地图。可以使用 WMS 客户端应用程序查看的 WMS 提供程序(如 MapServer)托管数据。有很多这样的应用程序。您将需要一个更复杂的客户端应用程序来连接到 MapServer,以便执行更复杂的地图操作。

    查看GoogleEarth

    NASA WorldWind

    或者我还没有使用过this,但它看起来可能是最简单的,如果最不可靠的话。

    【讨论】:

    • 没错,但我正在寻找一种方法来为地图服务器提供“动态地图”,而不是其他 GIS 引擎(谷歌地图、地球或其他任何东西),而且我没有使用任何 cgi 脚本,我只是将 mapserv 二进制文件(在编译后创建)传递到带有 mode=map 的地图文件的路径,它显示了地图,没有可缩放、移动或其他任何内容,而且似乎我必须编写一个 .以这种方式为世界上的每个地点添加图层或...的地图文件!
    • 好吧 mapserver 不是一个很好的客户端。这就像使用 apache 浏览网页一样。你试过 mode=browse 吗?
    • 在浏览模式下获取此内容:传统浏览模式需要在 WEB 部分提供模板,但没有提供。
    【解决方案3】:

    First MapServer 是 GIS 服务器端技术。在我看来,放大/平移是客户端的行为。

    当我们看到用户平移/缩放一个 Web 应用程序的那一刻,真正发生的是前端应用程序获取平移/缩放事件并调用 mapserver 以获取新地图返回客户端。

    因此,您的传单、Google 地图 API、Openlayers 等更有可能处理客户端移动的检测并将其解析为新的 getmap 请求并将请求发送到 mapserver 以获取响应。

    您使用 get 请求从 MapServer 看到的内容是静态的,并且假设是这样。动态部分发生在客户端,从前端应用程序进行动态调用以进行这些静态调用。当客户端动态发送请求并从响应中刷新地图时,这是交互式的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-08
      • 2014-07-30
      • 2011-08-10
      • 1970-01-01
      • 1970-01-01
      • 2010-09-20
      • 2015-08-03
      • 1970-01-01
      相关资源
      最近更新 更多