在ImageCanvas中协调长度与像素长度的映射关系

时间:2015-04-01 01:03:45

标签: openlayers-3

我想在图片画布中绘制圆圈。我可以通过调用 map.coordinateToPixel 从坐标值中获取像素值。

对于半径,如何将坐标距离映射到像素长度?

例如,如果我的半径为60弧分,则从50度到51度。在矢量图层中,底层框架根据缩放级别管理到像素的转换。但是,对于ImageCanvas,我需要自己指定。有没有办法做到这一点?我知道我可能需要深入研究代码,但我想知道是否有人已经知道的固有解决方案。

我考虑的另一个选择是:

  1. 获取像素(0,0)

  2. 处的坐标
  3. 获取坐标(radiusLogitude,0)

  4. 在经度上找到#2 - #1之间的差异并将其用作我的半径

1 个答案:

答案 0 :(得分:1)

也许这个例子可以帮助你:http://acanimal.github.io/thebookofopenlayers3/chapter03_04_imagecanvas.html它绘制一组随机饼图(但没有考虑像素比率)。

注意,您使用的canvasFunction会收到五个可帮助您确定像素大小的参数:function(extent, resolution, pixelRatio, size, projection)