Daugiau

Leisti klientui įkelti sluoksnius į „Openlayers“ 3

Leisti klientui įkelti sluoksnius į „Openlayers“ 3


Noriu leisti klientams pridėti vektorinius sluoksnius geojsono pavidalu prie „openlayers 3.“ Tai turėtų atrodyti kaip šiame smuikelyje. Žinau, kaip pridėti kelis sluoksnius, bet noriu, kad klientas galėtų pridėti sluoksnį ir pamatyti jo pridėtą sluoksnį. Sluoksnio nereikia išsaugoti kitam jo apsilankymui puslapyje.


galite pabandyti dviem skirtingais būdais,
1) turite priimti savo žiniatinklio serverį, kad gautumėte kliento įkeltą failą. Failas bus apdorotas jūsų serveryje ir grąžins geojson failą į priekį.
čia yra pavyzdys (su php)

tada gausite geojson failą, kuris bus rodomas ol3.
2) kitas naudoja failo API failui apdoroti, nerašydamas serverio pusės kodo, ir skaito failo turinį, kad būtų rodomas ol3.
dev.w3.org/2006/webapi/FileAPI/

Aš taip pat sukuriu gryną „JavaScript“ lib, kad galėčiau konvertuoti zip failą su shp, dbf į geojson, kaip ir vartotojas įkelia savo failą ir parodo jį ol3.

(ši demonstracinė versija palaiko .prj, todėl nereikia nustatyti EPSG ir priskirti tinkamo kodavimo, kad būtų rodomas teisingas priskyrimas ol3)


Man pavyko įkelti KML failą kliento pusėje naudojant HTML5 FileReader.readAsDataURL ()

Aš to laikiausi, norėdamas įkelti paprastą teksto failą ir apriboti tik kml failus

Vadovaudamiesi aukščiau pateikta pamoka, naudokite Reader.result kaip URL, kad nustatytumėte vektorinio sluoksnio šaltinį įkeliamam kml failui. Tada pridėkite vektorinį sluoksnį prie žemėlapio objekto. Tikiuosi, kad tai aišku, jei turite patirties su „OpenLayers 3“.


Žiūrėti video įrašą: PROaktyvus aptarnavimas: klientai visam gyvenimui