[OpenLayers-Users] styling vector data from kml file
Bill Schoolfield
bill at billmax.com
Thu Dec 20 16:08:34 PST 2012
I found it. The extractStyles must be false and the kml must place the
attribute in the Placemark element, not the Point.
On 12/20/2012 5:50 PM, Bill Schoolfield wrote:
>
> The code below fails to render the layer's points. If I comment out
> styleMap in the OpenLayers.Layer.Vector constructor I can see the layer
> (not styled of course). What is wrong?
>
>
> var styleMap = new OpenLayers.StyleMap({
> fillOpacity: 1,
> pointRadius: 10
> });
>
> var lookup = {
> 0: {externalGraphic: "images/modem.png", pointRadius: 10},
> 1: {externalGraphic: "images/radio-waves-md.png",
> pointRadius: 100},
> };
>
> styleMap.addUniqueValueRules("default", "type", lookup);
>
> var l = new OpenLayers.Layer.Vector("BillMax", {
> styleMap: styleMap,
> strategies: [new OpenLayers.Strategy.Fixed()],
> protocol: new OpenLayers.Protocol.HTTP({
> url: "test.kml",
> format: new OpenLayers.Format.KML({
> extractStyles: true,
> extractAttributes: true,
> projection: "EPSG:4236",
> 'internalProjection': new
> OpenLayers.Projection("EPSG:900913"),
> 'externalProjection': new
> OpenLayers.Projection("EPSG:3857")
> })
> })
> });
>
> The kml looks like:
>
> <?xml version="1.0"?>
> <kml xmlns="http://www.opengis.net/kml/2.2" encoding="UTF-8">
> <Document>
> <Placemark>
> <name>Troy Beasley</name>
> <address>305 Vaughn St.</address>
> <Point>
> <coordinates>-97.14879049, 32.89119839, 0.</coordinates>
> <type>0</type>
> </Point>
> </Placemark>
> <Placemark>
> <name>Shari Acosta</name>
> <address>6815 Manhattan Blvd</address>
> <Point>
> <coordinates>-97.21082905, 32.77544398, 0.</coordinates>
> <type>1</type>
> </Point>
> </Placemark>
> ...
> _______________________________________________
> Users mailing list
> Users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/openlayers-users
More information about the Users
mailing list