Saya telah menggunakan Google Maps beberapa kali, tetapi bertanya-tanya tentang OpenLayers .
Sebelum memulai segala jenis pengkodean, berikut adalah beberapa pertanyaan yang muncul di benak saya,
- Mengapa saya menggunakan OpenLayers alih-alih Google Maps?
- Kecuali untuk lisensi OSS-nya
- Apakah Anda menghadapi situasi di mana Anda akan merekomendasikan absolutly tidak menggunakan OpenLayers?
- Saya melakukan pencarian tentang "OpenLayers" di Stack Overflow ; tidak banyak jawaban. Apakah ini berarti solusi ini tidak banyak digunakan? Mungkinkah itu menjadi masalah bagi kelangsungan proyek dalam jangka panjang?
- Bagi Anda yang sudah menggunakan OpenLayers: apakah ada jebakan / masalah umum yang mungkin saya temui?
- Bagaimana dengan menggunakan Kerangka JavaScript dengannya? Saya pernah melihatnya menggunakan Prototipe , dan saya tahu Prototipe, jadi tidak masalah. Tetapi bagaimana dengan menggunakan sesuatu yang lain seperti Mootools ? (Yang tidak kompatibel dengan Prototipe, BTW)
- Apakah ada masalah terkait kecepatan dan kinerja? Saya membutuhkan aplikasi saya untuk menjadi responsif dan tidak bisa menunggu berjam-jam untuk menampilkan peta.
- Apakah ada peta yang tersedia di banyak tempat, atau ada banyak yang hilang?
- Yaitu, saya di Prancis, dan perlu aplikasi saya untuk bekerja setidaknya untuk kota-kota besar ... Apakah itu baik-baik saja?
- jika tidak, apakah mudah untuk menemukan layer dan visualisasi untuk OpenLayers dan mengintegrasikannya?
- Apakah ada API untuk menampilkan jalan?
- Misalnya, untuk menunjukkan jalan yang hanya satu arah.
- Jika ya, bagaimana saya bisa melakukan itu? Apakah saya harus memiliki semacam file yang berisi informasi jalan itu, dan, kemudian, menampilkannya di peta sendiri?
- Apakah Anda tahu tutorial yang bagus untuk OpenLayers?
Saya belum mencobanya, itu baru saja keluar dari pertanyaan biru ...
javascript
google-maps
openlayers
Pascal MARTIN
sumber
sumber
Jawaban:
Ini adalah pertanyaan yang sangat bagus! Saya adalah pengembang dan penggemar OpenLayers profesional, jadi saya akan menjawab pertanyaan Anda dari perspektif itu.
Mengapa saya menggunakan OpenLayers alih-alih Google Maps?
Saya tidak akan khawatir sama sekali tentang kelangsungan jangka panjang proyek. Ini adalah perpustakaan pemetaan sisi klien sumber terbuka utama.
Apakah ada jebakan / masalah umum yang mungkin saya temui?
Kompatibilitas Kerangka JavaScript
Apakah ada peta yang tersedia untuk banyak tempat?
Apakah ada API untuk menampilkan jalan?
Apakah Anda tahu tutorial yang bagus untuk OpenLayers?
Saya harap ini bermanfaat. Dan saya sekitar Stack Overflow jika Anda memiliki pertanyaan!
sumber
Ini tidak selalu menjadi pertanyaan OpenLayers ATAU Google Maps. Anda dapat menggunakan Google Maps untuk latar belakang peta Anda di OpenLayers. Beberapa jawaban yang lebih spesifik:
Mengapa OpenLayers?
Perangkap
Performa
Kerangka kerja JavaScript
Peta yang tersedia
sumber
Saya belum melihat banyak kehadiran dari pengguna OpenLayers di SO tetapi mereka di luar sana. The OpenLayers milis yang cukup aktif (aku di Pengguna dan Dev dan melihat di mana saja 50-100 email hari membahas berbagai hal. Anda dapat mencari daftar dari link tersebut juga.).
Saya tidak bisa menjawab semua pertanyaan Anda, tetapi satu hal yang akan saya kemukakan adalah bahwa OpenLayers dan google maps tidak saling eksklusif. OpenLayers adalah pustaka javascript dan Anda dapat menggunakannya untuk berinteraksi dengan google maps. Lihat contoh ini: OpenLayers menggunakan google maps . Dan inilah halaman contoh OpenLayers utama .
sumber
Satu hal yang belum sepenuhnya dibuat di sini adalah bahwa menggunakan OpenLayers menghindari berbagai batasan tempat Google pada persyaratan layanan untuk API petanya, termasuk:
Anda tidak dapat menggunakan peta Google secara sah hanya di bagian situs Anda yang memerlukan pembayaran untuk mengakses, atau untuk situs pribadi yang tidak dapat didaftar publik (misalnya intranet perusahaan). (IANAL, tetapi lihat Ketentuan Layanan, 9.1 dan FAQ )
Anda tidak dapat secara legal (atau secara praktis) menggunakan Google API untuk aplikasi offline (yaitu tempat ubin dilayani dari mesin Anda sendiri). Bahkan jika tidak ada batasan hukum, Google membuat ini secara teknis sangat sulit, sementara OpenLayers membuatnya mudah.
Google berhak untuk menutup akses ke API jika Anda menunjukkan peta dengan konten yang menurutnya tidak menyenangkan. Contoh yang diberikan dalam FAQ adalah peta obat-obatan terlarang, yang memberikan pengertian yang baik tentang area abu-abu yang mungkin dicakup oleh pembatasan ini.
Lihat FAQ ini dan Ketentuan Layanan untuk lebih jelasnya.
Semua yang dikatakan, sebagai pengembang Google Maps lama yang baru-baru ini mulai menggunakan OpenLayers, saya merasa bahwa Google Maps memiliki dokumentasi yang lebih baik, komunitas pengguna yang lebih besar, dan API yang lebih jelas dan lebih stabil daripada OpenLayers. Jadi, Anda harus melakukan trade-off di suatu tempat.
sumber
Ini benar-benar tergantung pada apa yang ingin Anda gunakan peta. Untuk hanya memplot poin pada peta, Google Maps akan baik-baik saja. Lapisan peta untuk Google Maps juga cukup rinci. OpenLayers di sisi lain menawarkan fungsionalitas yang jauh lebih banyak dan sangat dapat dikembangkan.
OpenLayers memiliki banyak contoh untuk Anda mulai.
Adapun peta, OpenLayers hanya sebuah API sehingga Anda harus menyediakannya akan memetakan lapisan. Google Maps API akan terbatas pada lapisan peta yang disediakan oleh google. Dengan OpenLayer Anda dapat menampilkan hampir semua layanan peta yang tersedia untuk umum (WMS, WFS, TMS, WMS-C). Contoh yang sangat bagus adalah openstreetmap.org - (peta jalan global yang dikumpulkan oleh komunitas). OSM dapat ditambahkan ke openlayers sebagai lapisan TMS. Lihatlah contoh ini untuk instruksi.
sumber
Beberapa klien mungkin menolak, atau memiliki keberatan, tentang penggunaan Google Maps. Mereka mungkin memiliki masalah valid bahwa Google dapat memperkenalkan iklan atau mengubah API tanpa pemberitahuan. Namun Google Maps memiliki manfaat untuk berintegrasi dengan layanan Google lainnya (penanda tempat, menambahkan foto, layanan geocoding). Sebagai webnya, Anda selalu dapat menggabungkan berbagai layanan pemetaan dan API.
sumber
Saya setuju dengan semua jawaban, tetapi ada satu hal yang sangat penting yang tidak ada yang menyebutkan. OpenLayers dan Google Maps memiliki target berbeda.
OpenLayer adalah kerangka kerja yang sangat baik untuk menampilkan geodata, tetapi Google Maps adalah kumpulan layanan yang mencakup kerangka kerja untuk menampilkan geodata di antara layanan lainnya.
Jadi, Google Maps memaparkan banyak layanan dan fitur yang tidak dimiliki OpenLayes. Beberapa contoh fitur dan layanan Google Maps adalah pelokalan kawasan, deteksi sensor (untuk perangkat dengan GPS) dan pelokalan pengguna, geocoding dan reverse geocoding, street view, dll.
sumber
Saya telah menggunakan kedua API. Saya membuat perangkat lunak untuk perusahaan dan perangkat lunak ini membutuhkan pemetaan tetapi tidak semua klien memiliki lisensi GoogleMaps, jadi saya perlu mendukung kedua jenis peta.
Saya telah membuat API umum untuk mengabstraksi perbedaan di antara mereka dan biarkan saya memberi tahu Anda, beberapa hal lebih mudah dilakukan dalam satu daripada yang lain. Seperti membatasi batas di mana Anda dapat menggeser peta, itu jauh lebih mudah dilakukan di OpenLayers, tetapi heatmap lebih mudah digunakan di GoogleMaps (secara resmi didukung oleh google, tidak seperti plugin OpenLayers yang tersedia).
OpenLayers mendukung peta offline. Beberapa pengguna saya berada di intranet pribadi tanpa koneksi internet.
GoogleMaps memiliki dua plugin yang mutlak harus dimiliki, MarkCluster dan Spiderfier yang memungkinkan memvisualisasikan sejumlah besar marker.
GoogleMaps InfoWindows lebih mudah digunakan dan memiliki kegunaan yang lebih baik daripada OpenLayers.Popups. Ini adalah jendela kecil yang bisa dibuka ketika Anda mengklik penanda. Googlemaps InfoWindows juga jauh lebih cantik secara default, Anda harus melakukan beberapa sihir CSS dengan Popup.
GoogleMaps memiliki streetview yang terkadang berguna.
GoogleMaps memiliki lebih banyak fitur yang mungkin Anda butuhkan. Meskipun banyak fitur hadir di OpenLayers juga, tetapi tidak didukung secara resmi.
Biasanya pada akhirnya Anda harus menggunakan OpenLayers karena berkurangnya sakit kepala yang mungkin Anda dapatkan dari lisensi dan penggunaan bandwidth dari googlemaps. Keduanya menangani pemetaan dasar (yaitu, menampilkan penanda di atas peta) dengan sangat baik. Kecuali Anda dapat menemukan fitur spesifik yang Anda butuhkan dari salah satu yang tidak ada di sisi lain, Anda harus menggunakan OpenLayers. Lihat ini untuk informasi lebih lanjut tentang penagihan googlemaps dan kapan Anda dapat menggunakannya secara gratis.
GoogleMaps juga memiliki tipe geolokasi dasar sebagai 'LatLng' dan Openlayers menggunakan 'LonLat' yang membuat saya gila karena saya terus mengira urutan parameter dalam panggilan fungsi.
sumber
Selain mereka yang menyebutkan masalah kecepatan, saya ingin menambahkan bahwa renderer VML IE bisa menjadi sangat lambat dengan lapisan vektor dengan banyak fitur. Satu pengguna menyebutkan sekitar 200. Itu tentang apa yang bisa saya tambahkan sebelum IE melambat hingga titik beku. Jika Anda menambahkan fitur yang merupakan label teks, Anda dapat menambahkan setengahnya lebih sedikit, mungkin karena secara internal setiap label teks terdiri dari dua elemen VML.
Di Google Anda dapat membuat GOverlay khusus yang isinya "div", yang dibuat tanpa masalah di IE.
sumber
Beberapa hal yang akan saya tambahkan, dari dua perspektif: penggunaan klien dan data yang melimpah.
Penggunaan klien:
Penyajian data:
Apakah Anda menyajikan data KML ? Jika demikian, OpenLayers dan Google Maps akan berfungsi dengannya, dan Anda mungkin harus memutuskan berdasarkan penggunaan klien.
Apakah Anda melayani jenis layanan data lainnya? (WMS, WFS, CSV, dll.) Jika demikian, maka OpenLayers sangat mungkin memiliki contoh dan dukungan untuk itu.
sumber
OL memiliki basis penggemar yang besar dan mungkin merupakan geothing opensource yang paling banyak digunakan di dunia.
Anda tidak melihat bahwa ada banyak utas dan pos tentang hal itu di dunia maya ini karena orang-orang di sini cenderung membahas jenis teknologi lainnya, seperti JSF dan Mobile (non geo), bukan karena OL seperti struts.
Namun Ol memiliki beberapa kelemahan, terutama karena levelnya sangat rendah sehingga Anda harus menulis banyak kode untuk melakukan operasi umum. Itu dapat bekerja dengan cara yang baik juga, karena sebagai pengembang a: Anda memiliki semua kode dimuka dan b: tweaker dan penyesuaian sangat mudah.
Ada geotool gratis yang lebih canggih, tetapi yang mereka lakukan hanyalah memanggil openlayers dan abstrak beberapa tugas yang lebih membosankan.
Jadi gunakan dengan percaya diri. Itu matang, kuat dan tidak akan mati di masa mendatang. Namun jika Anda ingin mempercepat proses pengembangan Anda, Anda harus mencoba alat lain yang terpasang di atasnya.
semoga harimu menyenangkan
sumber