Daha çox

OpenLayers -də KML görüntü örtüklərini necə göstərmək olar?


KML -ni əl ilə təhlil edərək OpenLayers -də Ground Overlays -ı göstərmək üzərində işləyirəm.

Bunu etmək üçün code.google.com/apis/kml/documentation/KML_Samples.kml faylından GroundOverlay bölümünə baxaraq Google Xəritə -nin üstünə bir şəkil əlavə etməyə çalışırdım.

 Arazi üzərində geniş miqyaslı örtük Yerüstü səth Etna dağının 13 iyul 2001 -ci ildə püskürdüyünü göstərir.  http://code.google.com/apis/kml/documentation/etna.jpg"> bu

OpenLayers -də Google Xəritələr qatının üstündə oxşar şəkildə görüntünü göstərmək üçün oynadığım kod budur:

// ------- əsas xəritə yaradın ------------------------------ xəritə = yeni OpenLayers.Map (' map ', {projection: new OpenLayers.Projection ("EPSG: 900913"), displayProjection: new OpenLayers.Projection ("EPSG: 4326")})); var gmap = yeni OpenLayers.Layer.Google ("Google Küçələri", // standart {numZoomLevels: 20}); map.addLayer (gmap); var point = yeni OpenLayers.LonLat (14.93,37.70); var zoomLevel = 7; point.transform (yeni OpenLayers.Projection ("EPSG: 4326"), map.getProjectionObject ()); map.setCenter (nöqtə, zoomLevel); map.addControl (yeni OpenLayers.Control.LayerSwitcher ()); map.addControl (yeni OpenLayers.Control.MousePosition ()); // ------- bir şəkil əlavə edin ------------------------------ var proj = yeni OpenLayers.Projection ( "EPSG: 4326"); var sərhədləri = yeni OpenLayers.Bounds (37.91904192681665, 37.46543388598137, 15.35832653742206, 14.60128369746704) bounds.transform (proj, map.getProjectionObject ()); var graphic = new OpenLayers.Layer.Image ('Arazi üzərində geniş miqyaslı örtüşmə', 'http://code.google.com/apis/kml/documentation/etna.jpg ">

Bunun OpenLayers -də yaxşı işləyəcəyi ehtimalı çox azdır. KML GroundOverlay uzantısı, OpenLayers -in edə bilməyəcəyi (və heç vaxt edə bilməyəcəyi) şəkilləri pərdə arxasında düzəltmək və yenidən əks etdirmək qabiliyyətinə malik olan Google Earth və Google Xəritələrə uyğun olaraq hazırlanmışdır.

Əlinizdəki görüntüyə əsaslanan bir plitələr düzəltmək və XYZ və ya TMS istifadə etmək daha yaxşı bir fikir olardı.


Şəkil elementinin olub olmadığını yoxlayın (tag) səhifəyə əlavə olunur, ancaq ekrandan kənarda, gizli və ya başqa bir şeyin altındadır.

Bunu etmək üçün Firebox'u Firebug uzantısı ilə istifadə edin, bu səhifədəki HTML elementlərinin mövcud vəziyyətini göstərir və ağacdakı dəyişiklikləri baş verdikcə vurğulayacaqdır.

Bundan sonra da əlavə edə bilərsinizmap.addLayer (qrafik);, xətt:

console.log (graphic.div);

Bu, Firebug -u səhifədəki qat olan HTML elementinə bir keçid qoymağa məcbur edəcək. Bu, elementi tez tapmağa və xüsusiyyətlərinə baxmağa imkan verir.


Videoya baxın: İl, İlçe Sınırı Çizimi. Google Earth Pro (Sentyabr 2021).