ArcGisTiledMapServiceLayer 和 ArcGisDynamicServiceLayer 在ArcGIS server for Java的区别

来源:互联网 发布:Linux下ifconfig 编辑:程序博客网 时间:2024/06/07 00:12

前言:

   我在使用ArcGIS for server 成功发布地图服务以后,使用ArcGIS server for Java 的API 中试图调用该地图服务,但是发现始终不能显示,最后发现是API 调用的图层名有问题。

首先成功发布了地图服务


注意,然后写了一段很简单的代码,试图调用自己发布的服务

<html><head><script type="text/javascript" src="library\3.9\3.9/init.js"></script><script type="text/javascript">dojo.require("dijit.layout.BorderContainer");    dojo.require("dijit.layout.ContentPane");    dojo.require("esri.map");   var MyMapfunction init(){ MyMap = new esri.Map("MyMapDiv");var layer = new esri.layers.ArcGISTiledMapServiceLayer("http://coi3ruhgnp8g6fg:8399/arcgis/rest/services/map/MapServer");MyMap.addLayer(layer);}dojo.addOnLoad(init);</script></head><body><div id="MyMapDiv" dojotype="dijit.layout.ContentPane" region="center"></div></body></html>

但是发现并不能调用地图服务,打开chrome的调试工具,发现N多的错误,大致意思就是说,找不到需要的切片地图。


这个问题纠结了我两天,没有发现究竟是在哪里出现了问题,一开始我认为是我发布的地图有问题,但是打开rest/service/map发现地图是可以使用的。


并且我们在ArcGIS JavaScript中查看发布的地图服务。

于是我将该网页的源代码copy下来,与我自己的代码一句句比较,最后发现是因为图层名的问题。我发布的是2D动态地图服务,所以在API中调用的图层应该是ArcGISDynamicMapServiceLayer。最后将此处修改以后,就可以成功调用地图服务了。


学习心得:

 1、  ArcGIS server 发布的地图服务,我们必须按照正确的图层名来调用

2、 如果你能够在rest/server查看你发布的地图,说明地图发布是成功的。不能调用服务的原因并不在这。

0 0
原创粉丝点击