Open Layers 在给定的纬度、经度中不显示标签

Open Layers doesn't show the label in the given lat, lon

我尝试在开放图层中为一个点添加标签。可以看到标签,但它位于 (0,0) 点附近,而不是给定的经纬度点。

var point = new OpenLayers.Geometry.Point(lon,lat);
var label_feature = new OpenLayers.Feature.Vector(point);
    label_feature.attributes = {
        myLabel: "my label"
    };

    vector_layer.addFeatures([label_feature]);

这里是矢量样式的偏移值

labelXOffset: "0",
labelYOffset: "12",

然后我得到渲染器

var renderer = OpenLayers.Util.getParameters(window.location.href).renderer;
                        renderer = (renderer) ? [renderer] : OpenLayers.Layer.Vector.prototype.renderers;

谢谢

好的,我找到了解决方案:

你只需要用投影变换点:

var projection = new OpenLayers.Projection("EPSG:4326");
point = point.transform(projection, map.getProjectionObject());