Saya telah membuat fitur Drupal yang mengimplementasikan ini menggunakan OpenLayers (Lihat http://drupal.org/project/ol_locator ) atau Anda dapat menggunakan walk-through berikut untuk mengatur sendiri.
Unduh dan aktifkan Modul berikut:
Aktifkan sub-modul:
- Geofield Map 7.x-1.0-alpha5
- Tampilan UI 7.x-3.0-rc1
- OpenLayers UI 7.x-2.0-alpha2
- Tampilan OpenLayers 7.x-2.0-alpha2
Buka admin/structure/types/add
dan buat jenis konten baru yang disebut " Location
"
Pergi ke admin/structure/types/manage/location/fields
dan tambahkan bidang berikut:
- Label: Alamat> Nama bidang: alamat> Jenis bidang: Alamat pos> Widget: Bentuk alamat dinamis
Pilih negara yang tersedia yang Anda inginkan dari daftar. Biarkan kosong untuk mengizinkan semuanya.
Centang "Formulir alamat (khusus negara)"
- Catatan: Negara-negara dan bidang terkait mereka ditangani oleh modul Addressfield. Jika Anda tidak melihat negara Anda atau jika tidak memiliki bidang yang sesuai, Anda perlu mengajukan masalah dengan modul tersebut http://drupal.org/project/addressfield (Periksa untuk melihat apakah ada masalah dalam antrian tentang Anda negara yang hilang terlebih dahulu sebelum memposting)
Label: Geofield> Nama bidang: geofield> Jenis bidang: Geofield> Widget: Geocode dari bidang lain
Pergi ke admin/structure/types/manage/ol_locator_location/display
dan ubah Default
tampilan untuk Geofield:
- Label: Tersembunyi> Format: OpenLayers
Klik ikon roda gigi dan pilih yang berikut ini:
- OpenLayers Preset: Geofield Formater Map> Pilihan data: Gunakan geometri penuh
Pergi ke admin/structure/openlayers/layers/settings
dan atur yang berikut ini:
- Google Maps API versi: v3.2
Mari kita uji untuk melihat apakah Geocoding berfungsi dengan membuat Lokasi Uji
- Saat membuat jenis konten pengujian, pastikan Anda menggunakan alamat yang sudah mapan. Jika Google tidak tahu tentang alamat Anda, maka situs baru Anda juga tidak.
Pergi ke admin/structure/views/add
dan buat tampilan baru dengan informasi berikut
- Lihat nama: Pencarian Kedekatan> Deskripsi: Menampilkan lokasi yang di-geocode pada peta dinamis agar pengguna dapat melakukan pencarian kedekatan. > Tampilkan: Konten jenis: Lokasi diurutkan berdasarkan: Tidak disortir> Lanjutkan & edit
Tambahkan bidang-bidang berikut dan pertahankan nilai-nilai standarnya, kecuali jika disebutkan:
- Konten: Judul > Centang Buat label: "Judul"
- Konten: Alamat (Alamat)
- Konten: Geofield (Geofield)> Kecualikan dari tampilan
- Kedekatan: Jarak (Distance)
Tambahkan Kriteria Filter berikut ke yang ada:
- Konten: Diterbitkan (Ya) dan
- Konten: Jenis (= Lokasi)
- Kedekatan: Lingkaran besar (terbuka)> Paparkan filter ini kepada pengunjung, untuk memungkinkan mereka mengubahnya> Label: Kedekatan> tambahkan "10" ke bidang Nilai> Buka kunci pengukuran> Buka kunci lokasi
Header > Global: Area teks> Tampilan meskipun tampilan tidak memiliki hasil
- "Temukan lokasi di dekat Anda. Anda dapat mencari menggunakan kota, provinsi / negara bagian Anda atau kode pos / pos."
Tidak ada perilaku hasil > Global: Area teks dan tambahkan berikut ini:
- "Maaf, tidak ada hasil yang ditemukan.
1.) Verifikasi keakuratan kode pos / pos Anda
2.) Periksa ejaan kota, provinsi, atau negara Anda
3.) Tingkatkan jarak kedekatan"
Teks tombol kirim : Pencarian
Tambahkan tampilan baru: " Hamparan Data OpenLayers "
Format :
- Pengaturan> Terapkan openlayers ini (timpa)> Peta Sumber Data: WKT> Bidang WKT: Geofield> Bidang Deskripsi>> Terapkan (tampilan ini)
Simpan tampilan
Pergi ke admin/structure/openlayers/maps
Klon peta default
Informasi umum> Nama: location_map. Judul: Peta Lokasi> Deskripsi Peta: Ini adalah peta lokasi default.
Lapisan & gaya> Lapisan hamparan (pilih tampilan yang baru saja kita buat) Lokasi "Diaktifkan" "Diaktifkan" Lakukan hal yang sama untuk Placeholder untuk Geofield Formatter
Perilaku> Munculan (harus kembali dan "Pilih lapisan untuk menerapkan munculan." Nanti)> Zoom ke Layer "Pilih layer untuk diperbesar ketika peta dimuat" > Tingkat Tingkat Tingkatan: 20 ****
Simpan peta
Kembali ke tampilan yang baru saja kita buat
admin/structure/views/view/proximity_search/edit
Tambahkan tampilan "Halaman"
- Path:
/locator
- Format: Peta OpenLayers> Terapkan (tampilan ini)> Peta: Peta Lokasi (Yang baru saja kita buat di OpenLayers)> Terapkan
Simpan tampilan (Sekarang kita akan melihat peta kita di panel pratinjau di bagian bawah tampilan kita, dengan konten pengujian apa pun
Tambah tampilan: "lampiran"
- Format: Tabel> Terapkan (tampilan ini)
- Lampirkan ke: Halaman
- Filter terbuka yang diwariskan: Ya
- Hapus Header> Global: Area teks> Terapkan (tampilan ini)
- Item untuk ditampilkan: Menampilkan jumlah item tertentu | 5 item
- Pager bawaan: Ya
- Render pager: Ya
Simpan Tampilan
Perilaku> Pop Up> Layers> proximity_search_openlayers_1 (Tampilan peta Openlayers baru saja kita buat)
Zoom to Layer> Zooms sejauh lapisan yang diberikan pada pemuatan peta. >proximity_search_openlayers_1
Kembali ke admin/structure/types/manage/location/display
> klik ikon gir dan ubah Preset Layers Terbuka ke Peta Lokasi yang baru saja kita buat> Perbarui> Simpan