[OpenLayers-Users] KML and Popup window problem

Christopher Schmidt crschmidt at metacarta.com
Wed Mar 12 12:11:07 EDT 2008


On Wed, Mar 12, 2008 at 03:26:24PM +0000, Xin wrote:
> Hi,
> 
> I have a KML layer which I want to be able to click and see a pop up. I am
> following the following examples, but it's not working for me.

http://dev.openlayers.org/sandbox/euzuro/pop/examples/sundials.html

Is a KML example with a selectFeature control and popups. Maybe you
could compare to that and see if it helps you out any. I don't think the
projection will affect things any in this case.

-- Chris

> http://openlayers.org/dev/examples/select-feature.html
> http://openlayers.org/dev/examples/select-feature-openpopup.html
> 
> My map is projected. The init code is:
> 
> var options = {
>         projection: new OpenLayers.Projection("EPSG:900913"),
>         displayProjection: new OpenLayers.Projection("EPSG:4326"),
>         units: "m",
>         maxResolution: 156543.0339,
>         maxExtent: new OpenLayers.Bounds(-20037508, -20037508,
>                                          20037508, 20037508.34),
>         restrictedExtent:  new OpenLayers.Bounds(-102731.36592167988,-
> 3815736.451414842,3869548.1192908203,-1311047.9090148422)
>     };
>     map = new OpenLayers.Map('map', options);
> 
> My KML is therefore also projected. The code:
> 
> kmlLayer = new OpenLayers.Layer.GML("KML", kmlFeedUrl,
>       {
>       projection: new OpenLayers.Projection("EPSG:4326"),
>       format: OpenLayers.Format.KML,
>       formatOptions: {
>         extractStyles: true,
>         extractAttributes: true
>         }
>       });
> 
>    map.addLayer(kmlLayer);
> 
> This is all working so far, and I'm pretty happy about it. Thanks goes out
> to Chris and the community.
> 
> My KML consist of points.
> 
> <?xml version="1.0" encoding="UTF-8"?>
> <kml xmlns="http://earth.google.com/kml/2.1">
>   <Document>
>     <Style id="marker">
>       <IconStyle>
>         <Icon>
>           <href>http://localhost:3000/openlayers/img/marker-green.png</href>
>         </Icon>
>       </IconStyle>
>     </Style>
>     <Placemark id="13856">
>       <name>place name</name>
>       <description>NULL::character varying</description>
>       <styleUrl>#marker</styleUrl>
>       <Point>
>       <altitudeMode>relativeToGround</altitudeMode>
>       <coordinates>23.29555556,-17.98611111</coordinates>
>     </Point>
>     </Placemark>
>     <Placemark id="13852">
>       <name>place name 2</name>
>       <description>NULL::character varying</description>
>       <styleUrl>#marker</styleUrl>
>       <Point>
>       <altitudeMode>relativeToGround</altitudeMode>
>       <coordinates>24.56638889,-17.54027778</coordinates>
>     </Point>
>     </Placemark>
>   </Document>
> </kml>
> 
> I would like the user to be able to click on these points, and see a popup
> window consisting of name and description. After this KML layer is added, I
> add a select control as suggested from Vector file popup examples.
> 
> selectControl = new OpenLayers.Control.SelectFeature( kmlLayer,
>                          {onSelect: onFeatureSelect, onUnselect:
> onFeatureUnselect});
> 
> I also copied over onFeatureSelect and onFeatureUnselect.
> 
> When I click on a marker, nothing happens. Do I need to project
> SelectFeature? Does SelectFeature work with Points from a KML file?
> 
> Sorry for the long post! Any help is much appreciated.
> 
> Xin

> _______________________________________________
> Users mailing list
> Users at openlayers.org
> http://openlayers.org/mailman/listinfo/users


-- 
Christopher Schmidt
MetaCarta



More information about the Users mailing list