Daha çox

KML məlumatlarını URL -dən deyil, dəyişəndən necə əlavə etmək olar?

KML məlumatlarını URL -dən deyil, dəyişəndən necə əlavə etmək olar?


Bir URL -dən KML alan bir iş xəritəm var, amma indi bunun əvəzinə yerli dəyişəndən KML məlumatlarını almalıyam. Bunun dəstəyi varmı və əgər belədirsə sintaksis nədir. Api və müxtəlif saytları axtardım, amma bu barədə heç bir şey tapmadım. Təşəkkürlər!

[Əlavə]

map = yeni OpenLayers.Map ({div: "map", qatlar: [new OpenLayers.Layer.WMS ("WMS", "http://vmap0.tiles.osgeo.org/wms/vmap0", {katmanlar: ") əsas "}), yeni OpenLayers.Layer.Vector (" KML ", {strategiyalar: [yeni OpenLayers.Strategy.Fixed ()], protokol: yeni OpenLayers.Protocol.HTTP ({url:" kml_large.kml ", format: yeni OpenLayers.Format.KML ({extractStyles: true, extractAttributes: true, maxDepth: 2})})))]], mərkəz: yeni OpenLayers.LonLat (-81, 28), zoom: 7});

OpenLayers.Format.KML.read ()

Bu, KML simindən OpenLayers.Feature.Vector Xüsusiyyətləri yaradacaq.

Ehtiyaclarınıza uyğun olaraq proyeksiya məlumatlarını dəyişdirməyiniz lazım ola bilər:

GetFeaturesFromKMLString (strKML) funksiyası {var format = new OpenLayers.Format.KML ({'internalProjection': myMapObject.baseLayer.projection, 'externalProjection': new OpenLayers.Projection ("EPSG: 4326")}); qayıt format.read (strKML); };

Sonra belə bir şey edə bilərsiniz:

myVectorLayer.addFeatures (GetFeaturesFromKMLString (myKMLString));