[OpenLayers-Users] Points in KML Format

Slawomir Messner slawomir.messner at Staff.Uni-Marburg.DE
Fri May 7 04:12:20 EDT 2010


||Our Application uses OL to draw features on a map, style them and save 
it in postgresql(attributes and style as json strings). After that then 
we load them as KML-files. With polygons and linestrings there is no 
problem, but with points. When they are styled like below they are not 
drawn when we load them.
Now I was looking for the reason and I found it, I think. It's when a 
point is styled not the default(or any other) value for pointRadius is 
used, am I right?
If there is no failure in my style than my proposal is to add the 
following line into the parseFeature-function of OpenLayers.Format.KML, 
right before
"var feature = new OpenLayers.Feature.Vector(geometry, attributes);":
if ((geometry instanceof OpenLayers.Geometry.Point || geometry 
instanceof OpenLayers.Geometry.MultiPoint) && 
this.styles[attributes.styleUrl] &&  
!this.styles[attributes.styleUrl].pointRadius) {
                 this.styles[attributes.styleUrl].pointRadius = 6;
     }
Or it could be a better solution to add the default as default to 6 in 
the parseStyle-function like(would save the if statement, but there 
would be more useless data in the style-objects):
style["pointRadius "] = 6;
It's a pity that in the parseStyle there is no access to the geometries 
use the style, but it's clear why it's like that.

|<Style id="style16313">
	<LineStyle>
		<color>FF214365</color>
		<width>1</width>
	</LineStyle>
	<PolyStyle||>
		<color>66563412</color>
		<fill>1</fill>
		<outline>1</outline>
	</PolyStyle>
	<LabelStyle></LabelStyle>
	<IconStyle||></IconStyle>
</Style>|




-- 
-----------------------------------------------
Slawomir Messner
Forschungszentrum "Deutscher Sprachatlas"

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/openlayers-users/attachments/20100507/bc737ae7/attachment.html


More information about the Users mailing list