如何在打开图层中获取矢量图层的要素(点)的名称?

时间:2013-09-10 14:35:51

标签: javascript openlayers point

我有以下问题: 当我选择此功能时,如何获取功能的名称(例如点)? 我有一个函数,我在其中声明了矢量图层和带有它们名称的特征(代码的一部分):

  function makeLayer(){

    var objPoints = {station1: '68.0226656 36.9819691',station2: '66.895908 38.67347'};
    // loop through the object with the points
    for (var pointStat in objPoints ){
        var pointCoords = objPoints[pointStat]
        // seperate the coordinates lat and lon
        var PosSpace=pointCoords.indexOf(' ');
        var lonStr = pointCoords.substring(0,PosSpace);
        var lon = +(lonStr); //convert string to number
        var latStr = pointCoords.substring(PosSpace+1);
        var lat = +(latStr);
        // create the geometry
                    var point = new OpenLayers.Geometry.Point(lon,lat);
        // assign the geometry to the feature
                    var feature_point = new OpenLayers.Feature.Vector(
        point,
        {name: pointStat} // name of label
        );
        // add the generated feature to the vector layer
        this.layer.addFeatures(feature_point);  
    }
  }

然后,我想要第二个功能,我提醒我选择的功能的名称。像这样:

   function onFeatureSelect(){
         alert(featureName);
    }

有可能做这样的事吗?我希望我的问题很清楚。 谢谢 迪米瑞斯

1 个答案:

答案 0 :(得分:1)

您可以使用OpenLayers.Feature.Vector中的属性:

http://dev.openlayers.org/docs/files/OpenLayers/Feature/Vector-js.html#OpenLayers.Feature.Vector.Properties

以这种方式,您可以指定所需功能的名称,如下例所示:

https://gis.stackexchange.com/questions/40689/how-to-show-a-toolip-over-a-feature-with-openlayers

希望这有帮助,