[OpenLayers-Users] Simple KML layer help

Arnd Wippermann arnd.wippermann at web.de
Wed Dec 19 07:19:53 PST 2012


Instead in- and externalProjection you can use projection in the layer
options.

var l =  new OpenLayers.Layer.Vector("KML", {
    strategies: [new OpenLayers.Strategy.Fixed()],
    projection: new OpenLayers.Projection("EPSG:4326"), //projection of the
data
    protocol: new OpenLayers.Protocol.HTTP({
        url: "test.kml",
        format: new OpenLayers.Format.KML({
            extractStyles: true,
            extractAttributes: true,
            maxDepth: 2
        })
    })
}); 

-----Ursprüngliche Nachricht-----
Von: Bill Schoolfield [mailto:bill at billmax.com] 
Gesendet: Mittwoch, 19. Dezember 2012 00:46
An: arnd.wippermann at web.de
Betreff: Re: AW: [OpenLayers-Users] Simple KML layer help

Arnd,

Thanks. I made your change and it works. Gesh, Looked at that forever. 
Is the code correct otherwise? Seems like I may have done unnecessary things
while trying to sort this out.

Bill


On 12/18/2012 5:29 PM, Arnd Wippermann wrote:
> The Coordinate is lon, lat
>
> <coordinates>-96.80933013, 32.77874075, 0.</coordinates> Elm St in Dallas?
>
> With your coordinates lat is -96 and thats outside projection.
>
> Arnd
>
>
>
> -----Ursprüngliche Nachricht-----
> Von: openlayers-users-bounces at lists.osgeo.org
> [mailto:openlayers-users-bounces at lists.osgeo.org] Im Auftrag von Bill 
> Schoolfield
> Gesendet: Dienstag, 18. Dezember 2012 22:45
> An: openlayers-users at lists.osgeo.org
> Betreff: [OpenLayers-Users] Simple KML layer help
>
> Sorry for the last post: Here is my request in its entirety:
>
>
> I'm trying to add a simple KML layer to a OL Map. I assume I have to 
> worry about projection of the lat/longs in the KML file. The following 
> runs w/o error but I don't see my KML layer. The rest of the map is 
> fine. I know this is very close to other posts and topics but I can't 
> quite seem to get anything to work.
>
> Here is the php file that takes lat long arguments and produces a map:
>
> <html><body>
>     <div id="map"></div>
>     <script src="http://www.openlayers.org/api/OpenLayers.js"></script>
>     <script>
>           map = new OpenLayers.Map("map");
>           map.addLayer(new OpenLayers.Layer.OSM("map"));
>
>           var l =  new OpenLayers.Layer.Vector("KML", {
>               strategies: [new OpenLayers.Strategy.Fixed()],
>               protocol: new OpenLayers.Protocol.HTTP({
>                   url: "test.kml",
>                   format: new OpenLayers.Format.KML({
>                       extractStyles: true,
>                       extractAttributes: true,
>                       maxDepth: 2,
>                   'internalProjection': new 
> OpenLayers.Projection("EPSG:900913"),
>                   'externalProjection': new
> OpenLayers.Projection("EPSG:4326")
>                   })
>               })
>           });
>
>           map.addLayer(l);
>
>           map.addControl(
>                   new OpenLayers.Control.MousePosition({
>                       prefix: '<a target="_blank" ' +
>
> 'href="http://spatialreference.org/ref/epsg/4326/">' +
>                           'EPSG:4326</a> coordinates: ',
>                       separator: ' | ',
>                       numDigits: 2,
>                       emptyString: 'Mouse is not over map.'
>                   })
>               );
>
>           var proj = new OpenLayers.Projection("EPSG:4326");
>           var point = new OpenLayers.LonLat(<?php echo $_GET["long"]; 
> ?> , <?php echo $_GET["lat"]; ?>);
>           point.transform(proj, map.getProjectionObject());
>
>           map.setCenter(point, 13);
>
>     </script>
> </body></html>
>
> And here is the test.kml file:
>
> <?xml version="1.0" encoding="UTF-8"?> <kml 
> xmlns="http://www.opengis.net/kml/2.2">
> <Document>
> <Placemark>
>     <name>MY POINT</name>
>     <description>My Point</description>
>     <Point>
>       <coordinates>32.77874075,-96.80933013, 0.</coordinates>
>           <Icon>
>
<href>http://maps.google.com/mapfiles/kml/shapes/sunny.png</href>
>           </Icon>
>     </Point>
> </Placemark>
> </Document>
> </kml>
> _______________________________________________
> Users mailing list
> Users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/openlayers-users
>



More information about the Users mailing list