在 openlayers 地图之上创建自定义 canvas
Creating custom canvas on top of openlayers map
在 Leaflet 中,I can create 一个插件,它将创建一个 HTML canvas 元素作为一个单独的层。 canvas 元素将在鼠标拖动时自动移动。
有什么方法可以在 OpenLayers 4 中做同样的事情吗?例如。在 OL 的容器中创建 canvas,并将 canvas 添加到图层列表?
谢谢!
这绝对有可能。 https://openlayers.org/en/latest/examples/d3.html 显示了如何操作。您要使用的组件是 ol.source.ImageCanvas
。它配置了一个canvasFunction
,为给定的范围、分辨率和大小创建一个canvas。
但是,如果您希望静态 canvas 到 pan/zoom 带有地图,那么 ol.source.ImageStatic
是您要使用的组件。有关示例,请参见 https://openlayers.org/en/latest/examples/static-image.html。您可以使用固定大小、范围和分辨率的图像或 Canvas 元素对其进行配置,这些元素将被缩放和移动以固定地图的视图。
在 Leaflet 中,I can create 一个插件,它将创建一个 HTML canvas 元素作为一个单独的层。 canvas 元素将在鼠标拖动时自动移动。
有什么方法可以在 OpenLayers 4 中做同样的事情吗?例如。在 OL 的容器中创建 canvas,并将 canvas 添加到图层列表?
谢谢!
这绝对有可能。 https://openlayers.org/en/latest/examples/d3.html 显示了如何操作。您要使用的组件是 ol.source.ImageCanvas
。它配置了一个canvasFunction
,为给定的范围、分辨率和大小创建一个canvas。
但是,如果您希望静态 canvas 到 pan/zoom 带有地图,那么 ol.source.ImageStatic
是您要使用的组件。有关示例,请参见 https://openlayers.org/en/latest/examples/static-image.html。您可以使用固定大小、范围和分辨率的图像或 Canvas 元素对其进行配置,这些元素将被缩放和移动以固定地图的视图。