2

我是地图服务器的新手。我已经完成了示例应用程序..

   MAP
   NAME "Hello_World"
   SIZE 400 300
   IMAGECOLOR 249 245 186
   IMAGETYPE png
   EXTENT -1.00 -1.00 1.00 1.00
   WEB
       TEMPLATE "C:/Mapserver/ms4w/Apache/htdocs/Hello/Hello.html"
       IMAGEPATH "C:/Mapserver/ms4w/Apache/htdocs/tmp/"
       IMAGEURL "/tmp/"
  END
  LAYER
       NAME 'TEST_LAYER'
       STATUS default
       TYPE point
       FEATURE
       POINTS 0.0 0.0 END
       TEXT "Hello World"
       END
  CLASS
      STYLE
         COLOR 255 0 0
      END
     LABEL
     TYPE bitmap
     END
 END # end class
 END # end layer
 END # end mapfile   

我的 Html 文件是:

    <html>
<head><title>MapServer Hello World</title></head>
    <body>
       <form method=POST action="/cgi-bin/mapserv.exe">
          <input type="submit" value="Click Me">
          <input type="hidden" name="map" value="C:/Mapserver/ms4w/Apache/htdocs/Hello/mapdata/hello.map">
          <input type="hidden" name="map_web_imagepath" value="C:/Mapserver/ms4w/Apache/htdocs/tmp/">
       </form>
     <IMG SRC="[img]" width=400 height=300 border=0 />
   </body>
   </html>

当我通过 URL http://localhost:88/cgi-bin/mapserv.exe?map=C:/Mapserver/ms4w/Apache/htdocs/Hello/mapdata/hello.map 运行

它在临时文件夹中生成图像。

当我单击“单击我”按钮时,它说 loadWeb(): Unknown identifier。(C) 附近的解析错误:(第 1 行)

我正在使用 MapServer 5.6.6 版

请任何人帮助我。

提前致谢。

4

3 回答 3

3

当我通过 URI 调用 WMS 时遇到了类似的问题。 http://sun-web-extdev.ga.gov.au/cgi-bin/mapserv?map=map.map&map_web_template=template.html&map_imagetype=png

解决此问题的操作:删除 .map 文件中的模板行并使用以下 WMS URI:

http://sun-web-extdev.ga.gov.au/cgi-bin/mapserv?map=map.map&map_web=template+template.html&map_imagetype=png

从版本 5 WMS 丢弃 .map 文件中的配置模板文件,而不是使用上面的附加参数。

在你的情况下尝试添加

于 2011-10-04T22:55:07.353 回答
2

在您的 html 文件中将此注释放在第一行

<!-- Mapserver Template -->

并删除这一行:

<input type="hidden" name="map_web_imagepath" value="C:/Mapserver/ms4w/Apache/htdocs/tmp/">

这对我有用。

于 2017-08-01T12:24:07.473 回答
1

在创建一些关于在 Windows 上使用 MapServer 的教程时,我遇到了同样的错误。

解决方案是将地图文件上的所有“/”更改为“//”。由于 Windows 对反斜杠很敏感

使用上面的示例 IMAGEPATH 路径

这个

IMAGEPATH "C:/Mapserver/ms4w/Apache/htdocs/tmp/"

改成这个 工作

IMAGEPATH "C://Mapserver//ms4w//Apache//htdocs//tmp//"

于 2014-11-26T13:11:58.773 回答