Esri 要素服务和 Google 地图 API v3
Esri Feature Services and Google Maps API v3
是否可以使用 Google 地图 API 将 Esri 要素服务叠加到 Google 地图上?
我正在使用托管在 ArcGIS Online 上的要素服务。请记住,这些是 特征 服务,而不是分块地图服务。
根据我收集到的所有信息,Google 地图似乎只支持平铺地图休息服务。这个对吗?有没有人成功叠加要素服务?
如果你已经做到了这一步,我会给你一些背景知识。我们的系统开发人员已经使用 Google 地图 API 生成了许多应用程序,因此此时重写 OpenLayers、ESRI API、Leaflet 等中的所有内容将是一种负担。他想能够使用我们的 ArcGIS Online 地图服务,我们将其存储为要素。世界粮食计划署。我们真的不想走必须维护相同图层的其他版本(tiles、KML、geoJSON 等)的路线。我一直在试验 Esri JSON 到 GeoJSON 的即时转换,但没有成功。我正准备调用它并使用 Esri API 重建所有内容,但我想我会先问一下。我们的员工非常喜欢 Google 地图,因此很难推销。
谢谢
可行,但可能存在性能问题。
您可以调用要素服务端点并将所有要素返回为 JSON 响应。由于 Esri GeoJSON 与普通 GeoJSON 不同,您需要将 JSON 响应转换为标准 GeoJSON 格式,然后添加到 google 中的要素集合映射数据层并应用样式。
如果您有简单的数据集,这会起作用。但是,如果是复杂的大型多边形数据集,调用时会造成网络流量。此外 Google 地图数据层在处理大型数据集时总是存在性能问题。
如果数据托管在 ArcGIS 服务器上,我建议使用 dojo/esri js API 来开发应用程序。为可视化购买两个许可证是没有意义的。
另一种选择是使您的 ArcGIS 在线数据也能为 WMS 图层提供服务。通过这种方式,您的开发人员可以使用 google 地图叠加图层叠加来自 ArcGIS Online 的切片。您还可以向 WMS 服务发出标准 XMl 请求以获取要素信息。
好的。您可以转换为 GeoJSON,但您是对的,存在一些大的性能问题。
我发现解决该问题的最简单方法是使用 ESRI Leaflet 重写我们所有的 Google 地图 API。
https://esri.github.io/esri-leaflet/
Leaflet 比标准 ESRI API 更容易实现。没有花很长时间重写并具有相同的功能。
是的,可以使用 ArcGIS Server Link for Google Maps JavaScript API V3
https://github.com/googlemaps/v3-utility-library/tree/master/arcgislink
您可以使用功能 Class.
通过 REST API 从 AGS 检索几何图形和属性
或者,您可以在服务器端实现几何服务并通过 GeometryService 访问它Class。
检查 arcgislink 文档:
是否可以使用 Google 地图 API 将 Esri 要素服务叠加到 Google 地图上?
我正在使用托管在 ArcGIS Online 上的要素服务。请记住,这些是 特征 服务,而不是分块地图服务。
根据我收集到的所有信息,Google 地图似乎只支持平铺地图休息服务。这个对吗?有没有人成功叠加要素服务?
如果你已经做到了这一步,我会给你一些背景知识。我们的系统开发人员已经使用 Google 地图 API 生成了许多应用程序,因此此时重写 OpenLayers、ESRI API、Leaflet 等中的所有内容将是一种负担。他想能够使用我们的 ArcGIS Online 地图服务,我们将其存储为要素。世界粮食计划署。我们真的不想走必须维护相同图层的其他版本(tiles、KML、geoJSON 等)的路线。我一直在试验 Esri JSON 到 GeoJSON 的即时转换,但没有成功。我正准备调用它并使用 Esri API 重建所有内容,但我想我会先问一下。我们的员工非常喜欢 Google 地图,因此很难推销。
谢谢
可行,但可能存在性能问题。
您可以调用要素服务端点并将所有要素返回为 JSON 响应。由于 Esri GeoJSON 与普通 GeoJSON 不同,您需要将 JSON 响应转换为标准 GeoJSON 格式,然后添加到 google 中的要素集合映射数据层并应用样式。
如果您有简单的数据集,这会起作用。但是,如果是复杂的大型多边形数据集,调用时会造成网络流量。此外 Google 地图数据层在处理大型数据集时总是存在性能问题。
如果数据托管在 ArcGIS 服务器上,我建议使用 dojo/esri js API 来开发应用程序。为可视化购买两个许可证是没有意义的。
另一种选择是使您的 ArcGIS 在线数据也能为 WMS 图层提供服务。通过这种方式,您的开发人员可以使用 google 地图叠加图层叠加来自 ArcGIS Online 的切片。您还可以向 WMS 服务发出标准 XMl 请求以获取要素信息。
好的。您可以转换为 GeoJSON,但您是对的,存在一些大的性能问题。 我发现解决该问题的最简单方法是使用 ESRI Leaflet 重写我们所有的 Google 地图 API。 https://esri.github.io/esri-leaflet/ Leaflet 比标准 ESRI API 更容易实现。没有花很长时间重写并具有相同的功能。
是的,可以使用 ArcGIS Server Link for Google Maps JavaScript API V3
https://github.com/googlemaps/v3-utility-library/tree/master/arcgislink
您可以使用功能 Class.
通过 REST API 从 AGS 检索几何图形和属性或者,您可以在服务器端实现几何服务并通过 GeometryService 访问它Class。
检查 arcgislink 文档: