openlayers矢量特征获取像素位置

时间:2014-06-13 08:09:41

标签: openlayers

获取OpenLayers.Feature.Vector像素坐标的最快方法是什么?我的意思是,我希望获得相对于已绘制特征的地图容器的像素(顶部,左侧)位置,如果可能的话,不进行计算,因为性能改进。

谢谢&问候,拉斐尔。

1 个答案:

答案 0 :(得分:20)

在ol3:

var geometry = feature.getGeometry();
var coordinate = geometry.getCoordinates();
var pixel = map.getPixelFromCoordinate(coordinate);

在OL2中:

var geometry = feature.geometry;
var coordinate = new OpenLayers.LonLat(geometry.x, geometry.y);
var pixel = map.getPixelFromLonLat(coordinate);

一些先决条件:要素必须是点,否则geometry.getCoordinates()返回坐标数组,您需要选择一个。另一个应该是非常明显的,但无论如何我都会提到它:变量map是ol.Map或OpenLayers.Map的实例