Saya ingin "memberi geotag" pada semua posting saya dan menampilkannya di satu peta Google.
google-maps
geo-data
alekone
sumber
sumber
Jawaban:
Dapat melakukan ini tanpa plugin apa pun, Anda hanya perlu Google Maps API .
Harap dicatat bahwa jika Anda berencana memiliki 20 penanda atau lebih pada satu halaman, Anda harus melakukan geolokasi posting menggunakan koordinat dan bukan alamat.
Untuk menyimpan koordinat dari suatu alamat, Anda dapat:
Cara menerapkan opsi kedua tidak sepenuhnya terkait dengan pertanyaan, dan saya tidak akan memperhitungkannya sebagai jawaban saya, tetapi lihat contoh Maps API ini untuk melihat bagaimana sederhananya mengambil koordinat dari suatu alamat.
Jadi saya akan menganggap dalam jawaban ini yang posting memiliki lapangan kustom 'coords' di mana koordinat disimpan sebagai string dari dua dipisahkan koma nilai-nilai, someting seperti:
'38.897683,-77.03649'
.Saya juga berasumsi bahwa ada templat halaman yang disimpan dalam file 'page-google-map.php'.
Masukkan kode berikut
functions.php
Seperti yang Anda lihat, di templat halaman peta, saya enqueue
mygmap.js
terletak di subfolder 'js' dari temajuga, mengulang posting, saya mengisi array
$map_data
dan menggunakanwp_localize_script
saya meneruskan array ini ke js di halaman.Sekarang,
mygmap.js
akan berisi:Javascript tidak terkait WP, dan saya taruh di sini hanya untuk menunjukkan penggunaan
map_data
var. Saya bukan pengembang js dan kode ini kurang lebih seluruhnya diambil dari siniItu saja. Cukup buat templat halaman dan masukkan div dengan id 'peta', sesuatu seperti:
Tentu saja div dapat ditata dengan css, dan perhatikan bahwa jendela info penanda juga dapat ditata: dalam css gunakan
h3.marker-title
untuk menata judul jendela info dandiv.marker-desc
untuk menata konten.Perhatikan bahwa pusat peta dihitung secara otomatis dan jika Anda ingin mengubah zoom default, Anda harus meletakkan bidang khusus 'map_zoom' di halaman yang ditetapkan untuk templat halaman peta.
Semoga ini bisa membantu.
sumber
(37.983917, 23.729359899999963)
di mana saya dapat mengedit kode sehingga dapat menggunakan coords dengan tanda kurung di sekitar mereka. Usaha saya baru saja gagal. Terima kasih atas jawaban ini, sungguh mengagumkan!$meta_coords = get_post_meta( get_the_ID(), 'coords', true );
ke$meta_coords = trim(get_post_meta( get_the_ID(), 'coords', true ), '()');
dan tentu saja, ganticoords
dengan bidang yang sebenarnya penggunaan plugin untuk koordinat toko.