Ko'proq

OL -ni KML -ga eksport qilishda papkalarni qanday yaratish kerak

OL -ni KML -ga eksport qilishda papkalarni qanday yaratish kerak


Menda OpenLayers (2.6) xaritasidagi barcha chizilgan xususiyatlarni eksport qiladigan bu funksiya borOpenLayers.Format.KMLquyida bayon qilinganidek:

var featuresToExport = []; for (var i = 0; i 

Shunday qilib, barcha funktsiyalar KML -da bir xil darajada joylashtiriladi. Men ularni har bir qatlam uchun, masalan, papkalarga joylashtirmoqchiman.

Buni qanday qilishim mumkin? Theyozmoqfunktsiya har doim to'liq KML tuzilishini yozadi, aks holda men shunday qila olaman:

for (var i = 0; i "; uchun (var j = 0; j 

OK, shuning uchun yaxshiroq echim bo'lmasa, men kerakli qismlarni kesib, ierarxiyani qayta tartibga solaman.

var kml = ""; kml +="Mening eksportimBa'zi tavsif"; var layerString =" "; // Xususiyatlarni KML qatoriga yozing (var i = 0; i "; uchun (var j = 0; j  (.*) ") [1]; kml += "";}} kml +="";

Tahrirlash: Bundan yaxshiroq, jQuery.parseXML dan foydalanish va satr o'rniga DOM ob'ektlari bilan ishlash.

layerString = format.write (featuresToExport); layerDOM = $ .parseXML (layerString); layerDOM = $ (layerDOM) .find ("Papka") [0];