Saya mencari perpustakaan pemetaan khusus tetapi tidak untuk menampilkan area geografis yang sebenarnya tetapi untuk menampilkan denah lantai khusus. Saya telah mencari beberapa saat tetapi sebagian besar solusi yang saya temukan adalah untuk area geografis.
Saya ingin menyesuaikan beberapa level zoom (mungkin 3 level) dan idealnya saya mencari solusi JavaScript, HTML5 (canvas, SVG).
Adakah yang punya saran?
Jawaban:
Saya telah membuat aplikasi peta saya sendiri menggunakan peta gambar saya sendiri. Universitas kami bergeser ke kampus baru dan saya memetakan 7 lantai (dalam ruangan), dengan 5 tingkat zoom, dari peta yang digambar tangan.
Leaflet dapat bekerja dengan petak peta khusus! Saya telah mengikuti panduan ini (omarriott.com/aux/leaflet-js-non-geographical-imagery), hanya saja saya melakukan uji coba dengan angka tingkat zoom untuk memastikan peta muncul (mengikuti panduan ini sama sekali tidak bekerja untukku).
Ada sebuah plugin bernama Leaflet Indoor tetapi ia bergantung pada geoJson, yang tidak saya miliki. Yang saya miliki adalah koordinat gambar khusus dan kustom saya sendiri Json. Bagaimanapun, leaflet dapat mengkonversi koordinat gambar ke lat lng (dan sebaliknya) dengan metode proyek dan proyek.
Apa yang saya lakukan untuk membuat lantai berbeda adalah dengan menggunakan kontrol layer. Tentu saja, perlu beberapa saat untuk mengetahui API dan memastikan semuanya berfungsi sebagaimana mestinya. Sebagai contoh, saya mengelompokkan spidol saya untuk setiap lantai dan memberi kode cara untuk membuatnya dengan baik di berbagai tingkat zoom. Dan memuat lantai yang berbeda membutuhkan penangan untuk memuat marker dengan benar juga.
Saya tahu bahwa Leaflet memiliki banyak contoh yang mengandalkan peta geografis dan mungkin membuat orang-orang seperti kami dalam kegelapan, tetapi saya ingin meyakinkan Anda bahwa dimungkinkan untuk melakukannya untuk peta khusus. Anda perlu gambar, petak dengan benar (dengan nama yang benar), muat ke CDN seperti Amazon, dan kemudian gunakan Leaflet API.
sumber
Tidak mengetahui kasus penggunaan Anda, Anda mungkin ingin melihat perpustakaan D3.js (Data Driven Documents) untuk visualisasi data. Meskipun saya tidak tahu apakah ini mendukung "level zoom" per se, tetapi mendukung peta yang dapat diperbesar .
Lihatlah banyak contoh mereka di sini: https://github.com/mbostock/d3/wiki/Gallery
sumber
Perlakukan denah lantai sebagai area geografis. OpenLayers atau Leaflet tidak peduli apakah barang yang mereka tampilkan adalah indoor atau outdoor - selama Anda dapat mendefinisikan sistem koordinat, itu akan baik-baik saja.
sumber