Más

¿Cómo agregar datos KML pero desde una variable, no desde una URL?

¿Cómo agregar datos KML pero desde una variable, no desde una URL?


Tengo un mapa de trabajo que recupera KML de una URL, pero ahora necesito obtener los datos KML de una variable local. ¿Hay soporte para esto y, de ser así, cuál es la sintaxis? Busqué en la API y en varios sitios, pero no tuve suerte para encontrar nada al respecto. ¡Gracias!

[Apéndice]

map = new OpenLayers.Map ({div: "map", capas: [new OpenLayers.Layer.WMS ("WMS", "http://vmap0.tiles.osgeo.org/wms/vmap0", {capas: " basic "}), nuevo OpenLayers.Layer.Vector (" KML ", {estrategias: [nuevo OpenLayers.Strategy.Fixed ()], protocolo: nuevo OpenLayers.Protocol.HTTP ({url:" kml_large.kml ", formato: new OpenLayers.Format.KML ({extractStyles: true, extractAttributes: true, maxDepth: 2})})})], centro: nuevo OpenLayers.LonLat (-81, 28), zoom: 7});

OpenLayers.Format.KML.read ()

Esto creará características OpenLayers.Feature.Vector a partir de la cadena KML.

Es posible que deba modificar la información de la proyección para que se ajuste a sus necesidades:

function GetFeaturesFromKMLString (strKML) {formato var = new OpenLayers.Format.KML ({'internalProjection': myMapObject.baseLayer.projection, 'externalProjection': nuevo OpenLayers.Projection ("EPSG: 4326")}); return format.read (strKML); };

Entonces puedes hacer algo como:

myVectorLayer.addFeatures (GetFeaturesFromKMLString (myKMLString));