将 MapBox wms 与 ArcGis 结合使用

Using MapBox wms with ArcGis

我正在使用 MapBox 并希望显示来自 ArcGis WMS 服务的一些数据。它似乎工作正常,除了预测都是错误的。 Mapbox 接受服务的 URL 并根据当前地图视图添加查询字符串参数,然后将其发送到 WMS 服务。它添加了 bbox=1115369.116737292,9392582.035682455,1134936.995978297,9412149.914923461 当它应该是这样的: bbox=260427.3772,7137390.031000003,261695.991099999,7138611.94860001

我写了一个覆盖wms Mapbox函数的函数,我可以在这里进行调整,所以我只需要正确的算法。它必须考虑缩放。

您是否尝试过设置正确的 CRS in the L.TileLayer.WMS options? Included CRS's are L.CRS.EPSG3857 (default), L.CRS.EPSG4326 and L.CRS.EPSG3395. If what you need isn't there you could use the Proj4js plugin

因为我能够覆盖 Mapbox 函数,所以我可以添加额外的查询字符串参数。快速查看 ArcGis Export Map api (http://resources.esri.com/help/9.3/arcgisserver/apis/rest/export.html),我发现 bboxSR 可以做到这一点。来自 api 帮助页面:

bboxSR: The well-known ID of the spatial reference of the bbox. If the bboxSR is not specified, the bbox is assumed to be in the spatial reference of the map.

通过在以下位置查找,我能够找到我所关注的投影的众所周知的 ID (wkid): https://developers.arcgis.com/javascript/jshelp/pcs.html。 3857 是 Mapbox 使用的投影的 wkid。 从那里我刚刚添加

bboxSR=3857

查询字符串成功了!