在我的应用程序中,我添加了一个mapquest图层,其中包含打开的图层3,绘制了点和线......
现在我需要使用
知道地图(可见区域)中长/纬点的像素坐标map.getPixelFromCoordinate(coordinate).
此函数始终返回null
(测试):
center = map.getView().getCenter();
px = map.getPixelFromCoordinate(center);
alert(JSON.stringify(px));
我做错了什么或我不理解的是什么?
答案 0 :(得分:1)
我找到了这个答案:
我要小心这个。您可能会得到错误的结果,例如当地图还没有最终布局时。最好等待第一个坐标到像素转换,直到渲染地图。你不需要超时,我们在ol.Map上有'postrender'事件。因此,在初始化代码中,您可以执行以下操作:
map.once('postrender', function() {
// safe to call map.getPixelFromCoordinate from now on
});
来源:github.com/openlayers/ol3/issues/5456
我希望这会有所帮助。