如何让Wms端点使用elm mapbox?
我正在使用以下elm映射框库:如何让Wms端点使用elm mapbox?,elm,mapbox-gl-js,wms,Elm,Mapbox Gl Js,Wms,我正在使用以下elm映射框库: gampleman/elm地图盒 是否可以从地图上的以下WMS端点获取光栅? (bbox坐标仅对荷兰有效) 我已经尝试从这里向示例代码添加wms源代码: gampleman/elm mapbox的文档没有提到Wms。是否该elm库还不支持Wms? Mapbox gl js本身似乎支持它: 我使用上述url中的示例尝试在以下代码中设置“源”: (Style { transition = Style.def
gampleman/elm地图盒
是否可以从地图上的以下WMS端点获取光栅?
(bbox坐标仅对荷兰有效) 我已经尝试从这里向示例代码添加wms源代码:
gampleman/elm mapbox的文档没有提到Wms。是否该elm库还不支持Wms?
Mapbox gl js本身似乎支持它:
我使用上述url中的示例尝试在以下代码中设置“源”:
(Style
{ transition = Style.defaultTransition
, light = Style.defaultLight
, sources =
[ Source.vectorFromUrl "composite" "mapbox://mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v7"
, Source.rasterFromUrl "height" "https://demo.lizard.net/api/v3/wms/?SERVICE=WMS&REQUEST=GetMap&VERSION=1.1.1&LAYERS=dem%3Anl&STYLES=dem-nl&FORMAT=image%2Fpng&TRANSPARENT=false&HEIGHT=256&WIDTH=256&TIME=2019-09-12T19%3A35%3A37&SRS=EPSG%3A3857&BBOX={bbox-epsg-3857}"
]
, misc =
[
Style.name "light"
, Style.defaultCenter <| LngLat 20.39789404164037 43.22523201923144
, Style.defaultZoomLevel 1.5967483759772743
, Style.sprite "mapbox://sprites/mapbox/streets-v7"
, Style.glyphs "mapbox://fonts/mapbox/{fontstack}/{range}.pbf", Layer.fill "landcover"
"composite"
[ Layer.sourceLayer "landcover"
, E.any
[ E.getProperty (str "class") |> E.isEqual (str "wood")
, E.getProperty (str "class") |> E.isEqual (str "scrub")
, E.getProperty (str "class") |> E.isEqual (str "grass")
, E.getProperty (str "class") |> E.isEqual (str "crop")
]
|> Layer.filter
, Layer.fillColor (E.rgba 227 227 227 1)
, Layer.fillOpacity (float 0.6)
]
]
, layers =
[ Layer.raster "height" "height" []
]
}
)
(风格)
{transition=Style.defaultTransition
,light=Style.defaultLight
,资料来源=
[Source.vectorFromUrl“复合”mapbox://mapbox.mapbox-terrain-v2,mapbox.mapbox-streets-v7“
,Source.rasterFromUrl“高度”https://demo.lizard.net/api/v3/wms/?SERVICE=WMS&REQUEST=GetMap&VERSION=1.1.1&LAYERS=dem%3Anl&STYLES=dem-nl&FORMAT=image%2Fpng&TRANSPARENT=false&HEIGHT=256&WIDTH=256&TIME=2019-09-12T19%3A35%3A37&SRS=EPSG%3A3857&BBOX={BBOX-EPSG-3857}”
]
,杂项=
[
Style.name“light”
,Style.defaultCenter E.isEqual(str“wood”)
,E.getProperty(str“class”)|>E.isEqual(str“scrub”)
,E.getProperty(str“class”)|>E.isEqual(str“grass”)
,E.getProperty(str“class”)|>E.isEqual(str“crop”)
]
|>图层过滤器
,Layer.fillColor(E.rgba 227 1)
,Layer.fillOpacity(浮动0.6)
]
]
、层=
[Layer.graster“height”“height”[]
]
}
)
结果应该是荷兰的区域显示了url中的高度地图。但此时我只得到一个500 http状态,因为生成的url实际上包含字符串&BBOX={BBOX-epsg-3857},正如我在源文件中定义的那样,
rasterFromUrl
的文档指定:
rasterFromUrl : Id -> Url -> Source
A raster tile source configured from a TileJSON spec.
所以不,你不能用这种方式使用WMS。这个库似乎不像您期望的那样具有WMS支持
您可能想在上的#地图频道上询问人们是如何做到这一点的