Apakah ada perpustakaan JS di luar sana yang akan membuat peta datar dan normal (seperti Leaflet) menjadi peta perspektif seperti ini, di web:
Juga, ada yang melihat sesuatu yang bisa mengubah data CartoDB menjadi representasi 3D, seperti ini?
Apakah ada perpustakaan JS di luar sana yang akan membuat peta datar dan normal (seperti Leaflet) menjadi peta perspektif seperti ini, di web:
Juga, ada yang melihat sesuatu yang bisa mengubah data CartoDB menjadi representasi 3D, seperti ini?
Jawaban:
Mungkin Anda bisa menggunakan Osmbuildings . Ini perpustakaan JavaScript untuk memvisualisasikan OpenStreetMaps (atau custom GeoJSON) membangun geometri menjadi perspektif 3D.
Ini menggunakan data OpenStreetMaps secara langsung. Cukup tambahkan metode loadData ():
var map = new L.Map('map').setView([52.50440, 13.33522], 17);
var osmb = new OSMBuildings(map).loadData();
L.control.layers({}, { Buildings:osmb }).addTo(map); // add to layer switcher (optional)
Atau, Anda bisa memuat GeoJSON Anda sendiri. Cukup ubah metode loadData () ke setData (geojson):
var osmb = new OSMBuildings(map).setData(geoJSON);
Data Anda harus memiliki properti ketinggian, dan Anda dapat mengubah warna dinding dan atap secara dinamis:
osmb.setStyle({
wallColor:'rgba(100, 100, 250, 0.701961)',
roofColor:'rgb(220, 220, 50)',
shadows:true
});
Dan bahkan mengubah perspektif bayangan dengan menetapkan siang hari:
osmb.setDate(new Date(2014, 3, 24, 13, 0));
setData
metode, tetapi set
berfungsi! Ini menjadi:var osmb = new OSMBuildings(map).setData(geoJSON);
Ini adalah salah satu kasus penggunaan utama untuk ViziCities (kota 3D di browser yang didukung oleh OpenStreetMap), meskipun lapisan data saat ini belum berfungsi. Mungkin sesuatu yang perlu dipertimbangkan untuk masa depan: https://github.com/robhawkes/vizicities
Penafian: Saya adalah pengembang ViziCities
Anda dapat menggunakan OSM2world untuk meneruskan data 2D dari OpenStreetMap (map.osm) ke objek 3D (map.obj), kemudian menggunakan konverter lain ( convert_obj_three.py ) untuk mengubahnya menjadi model JSON tigajs (map.js), dan kemudian menggunakan dalam adegan threejs.
Anda dapat melihat caranya di sini:
Yang paling dekat yang saya lihat adalah karya Mike Bostock .
Dia memiliki peta yang sangat keren yang memiliki semacam proyeksi miring .
Tapi tidak ada yang membuatnya mudah. D3 mengerjakan tugas saya sehubungan dengan pengaturan proyeksi. Anda dapat membuat hal-hal luar biasa jika Anda melakukannya.
http://osm2world.org/ bekerja tanpa WebGL, tetapi menggunakan Java dan bukan js.
Dirancang untuk output data bangunan Openstreetmap, itu juga harus dapat diadopsi untuk data 3D lainnya.
Outputnya adalah peta licin mirip dengan leaflet: http://maps.osm2world.org/
Nah, dengan CartoDB Anda dapat melakukan sesuatu seperti ini http://andrewxhill.com/cartodb-examples/scroll-story/pluto/index.html#4
Anda harus menggunakan parameter CartoCSS ini: {building-height: 512; }
Info lebih lanjut di sini: https://github.com/CartoDB/cartodb-pluto