如何在OpenLayers中从GML向量层升级到VECTOR

时间:2012-08-09 11:13:22

标签: javascript vector openlayers gml

根据OpenLayers的说法,Openlayers.Layer.GML已经过折旧,不受ver支持。 2.12。我需要移动到Vector层,但我无法弄明白。

在我之前的版本中,我将其定义为:

           //Locations and UnitLocations layer - GeoJSON
            var LocationStyle = new OpenLayers.Style({
                strokeColor: "#5B5B5B",
                strokeWidth: 1,
                fillColor: "#F4FBA1",
                pointRadius: 10,
                strokeOpacity: 0.8,
                fillOpacity: 0.8,
                label: "${Location}",
                labelYOffset: "-20",
                labelAlign: "cc",
                fontColor: "#000000",
                fontOpacity: 1,
                fontFamily: "Arial",
                fontSize: 12,
                fontWeight: "300"
            });


            var LocationURL = "http://bit.ly/Nfe6IH?q=ICS_Locations&IncidentCode=" + "VAJA%20PSI%2012" + "&key=" + Math.random();
            Locations = new OpenLayers.Layer.GML("Locations", LocationURL, {
                format: OpenLayers.Format.GeoJSON,
                projection: new OpenLayers.Projection("EPSG:4326"), //4326 for WGS84
                styleMap: new OpenLayers.StyleMap(LocationStyle)
            });

在版本中。 2.12的Openlayers不再支持。你有什么例子我能做到吗?

谢谢。

2 个答案:

答案 0 :(得分:1)

// format use: new OpenLayers.Format.GPX

                var orange = new OpenLayers.Layer.Vector("gpx", { 
                    protocol: new OpenLayers.Protocol.HTTP({ 
                        url: "mGPX_123123123.gpx", 
                        format: new OpenLayers.Format.GPX
                    }), 
                    strategies: [new OpenLayers.Strategy.Fixed()], 
                    visibility: true,                                         
                    projection: new OpenLayers.Projection("EPSG:4326") 
                }); 
                myMap.addLayer(orange);    

// refer http://osgeo-org.1560.n6.nabble.com/PB-V-2-12-and-Layer-GML-td4984663.html

答案 1 :(得分:0)

尝试调整以下代码:

Locations = new OpenLayers.Layer.Vector("Locations", {
                strategies: [new OpenLayers.Strategy.Fixed()], 
                protocol: new OpenLayers.Protocol.HTTP({
                     url: LocationURL,
                     format: new OpenLayers.Format.GeoJSON()

                }),
                displayInLayerSwitcher: false,

            });