Esri Feature Services和Google Maps API v3

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Esri Feature Services和Google Maps API v3相关的知识,希望对你有一定的参考价值。

是否可以使用Google Maps API将Esri Feature服务叠加到Google地图上?

我正在使用ArcGIS Online上托管的要素服务。请记住,这些是功能服务,而不是平铺地图服务。

从我收集到的所有内容来看,Google地图似乎只支持平铺地图休息服务。它是否正确?有没有人成功覆盖功能服务?

如果你已经做到这一点,我会给你一些背景知识。我们的系统开发人员使用Google Maps API生成了大量应用程序,因此在此时重写OpenLayers,ESRI API,Leaflet等中的所有内容将是一种负担。他希望能够使用我们的ArcGIS Online地图服务,我们存储为功能,又名。 WFS。我们真的不想去维护相同层的其他版本(tile,KML,geoJSON等)。我一直在尝试使用即时Esri JSON进行GeoJSON转换,但我没有成功。我准备用Esri API调用它并重建所有内容,但我想我先问一下。我们的员工非常喜欢谷歌地图,所以这将是一个很难卖的东西。

谢谢

答案

是的,可以使用ArcGIS Server Link for Google Maps javascript API V3

https://github.com/googlemaps/v3-utility-library/tree/master/arcgislink

您可以使用要素类通过REST API从AGS检索几何和属性。

或者,您可以在服务器端实现几何服务,并通过GeometryService类访问它。

检查arcgislink文档:

https://htmlpreview.github.io/?https://github.com/googlemaps/v3-utility-library/blob/master/arcgislink/docs/reference.html

另一答案

它是可行的,但它可能有性能问题。

您可以调用功能服务端点,并将所有功能作为JSON响应返回。由于Esri GeoJSON与常见的不同,您需要将JSON响应转换为标准GeoJSON格式,然后添加到Google地图数据层中的要素集并应用样式。

如果您有简单的数据集,则此方法有效。但是,如果它是复杂的大型多边形数据集,则在进行调用时将导致网络流量。在处理大型数据集时,Google地图数据层也始终存在性能问题。

如果数据是使用ArcGIS服务器托管的,我建议使用dojo / esri js API开发应用程序。购买两个可视化许可证是没有意义的。

另一个选项是使ArcGIS在线数据也能为WMS层提供服务。通过这种方式,您的开发人员可以使用Google地图覆盖图层来覆盖ArcGIS online中的切片。您还可以向WMS服务发出标准XMl请求以获取功能信息。

另一答案

好。你可以转换为GeoJSON,但你是对的,有一些重大的性能问题。我发现解决问题的最简单方法是使用ESRI Leaflet重写我们所有的Google Maps API。 https://esri.github.io/esri-leaflet/ Leaflet比标准ESRI API更容易实现。没有多久重写并具有相同的功能。

以上是关于Esri Feature Services和Google Maps API v3的主要内容,如果未能解决你的问题,请参考以下文章

leaflet 添加featureLayer 并自定义样式

cucumber soapui test web services

C++中怎么读取shapefile格式的文件

ARCGIS 10·0 怎么安装?

2014Esri全球用户大会之影像和栅格

Esri 使用 React 和 Typescript 映射