Більше

Як відображати накладання зображень KML у OpenLayers?


Я працюю над відображенням накладок на землю на OpenLayers, аналізуючи KML вручну.

Для цього я намагався додати зображення поверх карти Google, переглядаючи розділ GroundOverlay з файлу code.google.com/apis/kml/documentation/KML_Samples.kml.

 Масштабне накладення на місцевості Накладка показує виверження вулкана Етна 13 липня 2001 року.  http://code.google.com/apis/kml/documentation/etna.jpg"> це

Нижче наведено код, з яким я граю, щоб подібним чином відобразити зображення поверх шару Карт Google у OpenLayers:

// ------- створити базову карту ------------------------------ map = new OpenLayers.Map (' map ', {projection: new OpenLayers.Projection ("EPSG: 900913"), displayProjection: new OpenLayers.Projection ("EPSG: 4326")}); var gmap = new OpenLayers.Layer.Google ("Вулиці Google", // за умовчанням {numZoomLevels: 20}); map.addLayer (gmap); var point = новий OpenLayers.LonLat (14.93,37.70); var zoomLevel = 7; point.transform (новий OpenLayers.Projection ("EPSG: 4326"), map.getProjectionObject ()); map.setCenter (point, zoomLevel); map.addControl (новий OpenLayers.Control.LayerSwitcher ()); map.addControl (новий OpenLayers.Control.MousePosition ()); // ------- додати зображення ------------------------------ var proj = новий OpenLayers.Projection ( "EPSG: 4326"); var bounds = new OpenLayers.Bounds (37.91904192681665, 37.46543388598137, 15.35832653742206, 14.60128369746704) bounds.transform (proj, map.getProjectionObject ()); var graphic = new OpenLayers.Layer.Image ('Масштабне накладання на місцевість', 'http://code.google.com/apis/kml/documentation/etna.jpg ">

Надзвичайно малоймовірно, що це буде добре працювати в OpenLayers. Розширення KML GroundOverlay більш -менш адаптоване до Google Планета Земля та Карт Google, яке має можливість налаштовувати та відтворювати зображення за кадром - чого OpenLayers не може (і ніколи не зможе) зробити.

Було б набагато кращою ідеєю створити набір зображень на основі зображення під рукою і використати це XYZ або TMS.


Перевірте, чи елемент зображення (тег) додається на сторінку, але поза екраном, прихований або під чимось іншим.

Для цього використовуйте Firefox з розширенням Firebug, це показує поточний стан HTML -елементів на сторінці та підсвічуватиме зміни у дереві у міру їх виникнення.

Ви також можете додати післяmap.addLayer (графічний);, лінія:

console.log (graphic.div);

Це змусить Firebug розмістити посилання на елемент HTML, який є шаром на сторінці. Це дозволяє швидко знайти елемент і переглянути його властивості.


Подивіться відео: OpenLayers Add Vector Layer to Web Map (Жовтень 2021).