OpenLayers实现加载ArcGIS Server发布的Feature Access服务

能够正确加载Feature Access服务也走了不少的坑。

官网Demo:https://openlayers.org/en/latest/examples/vector-esri.html?q=arcgis

第一个坑是:没有将图层发布为Feature Access服务,然后直接去使用REST URL加载服务。比如是这样的

OpenLayers实现加载ArcGIS Server发布的Feature Access服务_第1张图片

这样的结果就是发布的图层没有出现。

第二个坑是:我在我已经意识到自己要勾选Feature Acceess功能时,却一直报错不能启动服务(我使用的是shp文件放在桌面文件夹中,没有在数据库中)

OpenLayers实现加载ArcGIS Server发布的Feature Access服务_第2张图片

最后我发现要在发布的页面勾选Feature Access

OpenLayers实现加载ArcGIS Server发布的Feature Access服务_第3张图片

然后我用Analyze分析,然后报错。这个问题是要放在一个注册的数据库中

然后我把数据导入到已经创建好的SDE for SQLServer 数据库中,并且给ArcGIS Server添加一个registered

OpenLayers实现加载ArcGIS Server发布的Feature Access服务_第4张图片

 右键这个连接(这已经连接的状态下)

OpenLayers实现加载ArcGIS Server发布的Feature Access服务_第5张图片

点击Server Properties  在这里添加要注册的数据库

OpenLayers实现加载ArcGIS Server发布的Feature Access服务_第6张图片

然后导入创建的Database Connection就可以

OpenLayers实现加载ArcGIS Server发布的Feature Access服务_第7张图片OpenLayers实现加载ArcGIS Server发布的Feature Access服务_第8张图片

然后就OK了,发布的时候就可以选择Feature Access 了。

第三个坑是:使用REST URL时,后面少了一个斜杠(/)导致程序既没有出错,而且发布的图层也没有显示在地图上(底图是OSM),然后就反复的寻找解决的办法,大概困扰了我2天。然后重新查看官网示例的时候发现了URL最后面有一个斜杠。

这里一定要在结尾加上‘/’。

你可能感兴趣的:(OpenLayers)