Vairāk

Kā OpenLayers attēlot KML attēlu pārklājumus?

Kā OpenLayers attēlot KML attēlu pārklājumus?


Es strādāju pie zemes pārklājumu parādīšanas OpenLayers, parsējot KML manuāli.

Lai to izdarītu, es mēģināju pievienot attēlu Google kartes augšpusē, skatot GroundOverlay sadaļu no faila code.google.com/apis/kml/documentation/KML_Samples.kml.

 Liela mēroga pārklājums uz reljefa Pārklājumā redzams Etnas izvirdums 2001. gada 13. jūlijā.  http://code.google.com/apis/kml/documentation/etna.jpg">šis

Tagad seko kods, ar kuru es spēlēju, lai attēlotu attēlu līdzīgā veidā Google Maps slāņa augšpusē OpenLayers:

// ------- izveidot bāzes karti ------------------------------ map = new OpenLayers.Map (' karte ', {projekcija: jauns OpenLayers.Projection ("EPSG: 900913"), displayProjection: jauns OpenLayers.Projection ("EPSG: 4326")}); var gmap = new OpenLayers.Layer.Google ("Google ielas", // noklusējuma {numZoomLevels: 20}); map.addLayer (gmap); var punkts = jauns OpenLayers.LonLat (14.93,37,70); var zoomLevel = 7; point.transform (jauns OpenLayers.Projection ("EPSG: 4326"), map.getProjectionObject ()); map.setCenter (punkts, tālummaiņas līmenis); map.addControl (jauns OpenLayers.Control.LayerSwitcher ()); map.addControl (jauns OpenLayers.Control.MousePosition ()); // ------- pievienot attēlu ------------------------------ var proj = new OpenLayers.Projection ( "EPSG: 4326"); var robežas = new OpenLayers.Bounds (37.91904192681665, 37.46543388598137, 15.35832653742206, 14.60128369746704) bounds.transform (proj, map.getProjectionObject ()); var graphic = new OpenLayers.Layer.Image ('Lielapjoma pārklājums uz reljefa', 'http://code.google.com/apis/kml/documentation/etna.jpg ">

Ir ļoti maz ticams, ka tas labi darbosies OpenLayers. KML GroundOverlay paplašinājums ir vairāk vai mazāk pielāgots Google Earth un Google Maps, kam ir iespēja aizkulisēs attēlot un pārprojektēt attēlus - ko OpenLayers nevar (un nekad nevarēs).

Daudz labāk būtu izveidot flīžu komplektu, pamatojoties uz pieejamo attēlu, un izmantot to XYZ vai TMS.


Pārbaudiet, vai attēla elements (lapa) tiek pievienota lapai, taču tā atrodas ārpus ekrāna, ir paslēpta vai atrodas zem cita.

Lai to izdarītu, izmantojiet Firefox ar Firebug paplašinājumu, tas parāda lapas HTML elementu pašreizējo stāvokli un izceļ izmaiņas kokā, kad tās notiek.

Varat arī pievienot pēc tammap.addLayer (grafisks);, līnija:

console.log (graphic.div);

Tas liks Firebug ievietot saiti uz HTML elementu, kas ir lapas slānis. Tas ļauj ātri atrast elementu un apskatīt tā īpašības.


Skatīties video: Download and georeference Google Earth images in QGIS with OpenLayers Plugin