[OpenLayers-Users] How can I display each polygon in a different color?

Markus zielonka.markus at yahoo.de
Thu May 3 13:07:18 EDT 2012


Hello OpenLayers Team.

i have this Code dev. (Attachment).
How can I display each polygon in a different color?

map.addLayer(new OpenLayers.Layer.GML("OV's 2.000 Meter", 
"2000meter.xml", { format: OpenLayers.Format.KML, projection: 
map.displayProjection }));

map.addLayer(new OpenLayers.Layer.GML("OV's 4.000 Meter", 
"4000meter.xml", { format: OpenLayers.Format.KML, projection: 
map.displayProjection }));

First in Green
Second in Red
...

Search a good documentation and example. Found something but not help.

Thanks all.

Bye Markus

My Map online: http://www.meldekopf.de/osm/pn/map.html
-------------- next part --------------
<!-- Einbinden der OpenLayers & OpenStreetMap JS Dateien -->
	<script src="http://www.openlayers.org/api/OpenLayers.js"></script>
	<script src="http://www.openstreetmap.org/openlayers/OpenStreetMap.js"></script>
	<!-- JS Code zum Erstellen einer OpenLayers Karte auf der Webseite -->
	<script type="text/javascript">
		var map;
 
		function init(){
			//Erstelle das OpenLayers Map Objekt
			map = new OpenLayers.Map('map',
                    { controls:[
						new OpenLayers.Control.Navigation(),
						new OpenLayers.Control.PanZoomBar(),
						new OpenLayers.Control.Permalink(),
						new OpenLayers.Control.LayerSwitcher()],
                      maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34,20037508.34,20037508.34), 
					  numZoomLevels: 19,
                      maxResolution: 156543.0399,
                      units: 'm',
                      projection: new OpenLayers.Projection("EPSG:900913"),
                      displayProjection: new OpenLayers.Projection("EPSG:4326")
                    });

			//Hinzufuegen des Layerswitcher hinzu und aufklappen
			var layerswitcher = new OpenLayers.Control.LayerSwitcher();
			map.addControl(layerswitcher);
	        layerswitcher.maximizeControl();
	        
	        //Hinzufuegen von Mapnik Layer als Standardkarte
        	var layerMapnik = new OpenLayers.Layer.OSM.Mapnik("Mapnik");
       		map.addLayers([layerMapnik]);

			 
          	// TODO - Punkt 1
			//Hinzufuegen der berechneten Erreichbarkeitspolygone (KML Files)
			//										Layername		Pfad zur Dtei
	        map.addLayer(new OpenLayers.Layer.GML("OV's 2.000 Meter", "2000meter.xml", { format: OpenLayers.Format.KML, projection: map.displayProjection }));
	        map.addLayer(new OpenLayers.Layer.GML("OV's 4.000 Meter", "4000meter.xml", { format: OpenLayers.Format.KML, projection: map.displayProjection }));
            map.addLayer(new OpenLayers.Layer.GML("OV's 6.000 Meter", "6000meter.xml", { format: OpenLayers.Format.KML, projection: map.displayProjection }));
            map.addLayer(new OpenLayers.Layer.GML("OV's 8.000 Meter", "8000meter.xml", { format: OpenLayers.Format.KML, projection: map.displayProjection }));
            map.addLayer(new OpenLayers.Layer.GML("OV's 10.000 Meter", "10000meter.xml", { format: OpenLayers.Format.KML, projection: map.displayProjection }));
           
			
           	// TODO - Punkt 2
        	//Hinzufuegen der Feuerwehrwachen als Layer
			var firestations = new OpenLayers.Layer.GML("THW Ortsverbaende", "ortsverbaende.gpx", {
		      format: OpenLayers.Format.GPX,
		      style: {strokeColor: "red", strokeWidth: 5, strokeOpacity: 1, externalGraphic: "181px-THW.png", graphicWidth:31, graphicHeight:31},
			  projection: map.displayProjection
		    });
			map.addLayer(firestations);
			
         	// TODO - Punkt 3
			// Zentrum der Karte. Die Position kann aus einem OSM Permalink
			//  entnommen werden: http://www.openstreetmap.org/?lat=50.08321&lon=8.24123&zoom=15&layers=M
			var lat=50.733; 
			var lon=7.128;
			var zoom=10;
			var lonLat = new OpenLayers.LonLat(lon, lat).transform(map.displayProjection,  map.projection);
			if (!map.getCenter()){
				map.setCenter (lonLat, zoom);
			}
        }
    </script>


More information about the Users mailing list