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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相关文章: