Chciałbym „geotagować” wszystkie moje posty i wyświetlać je na jednej mapie Google.
google-maps
geo-data
alekone
źródło
źródło
Odpowiedzi:
Można to zrobić bez żadnej wtyczki, potrzebujesz tylko interfejsu API Map Google .
Pamiętaj, że jeśli planujesz mieć 20 znaczników lub więcej na jednej stronie, musisz geolokalizować posty przy użyciu współrzędnych, a nie adresów.
Aby zapisać współrzędne z adresu, możesz:
Jak wdrożyć drugą opcję, nie jest ściśle związana z pytaniem i nie wezmę jej pod uwagę przy mojej odpowiedzi, ale zobacz ten przykład interfejsu API Map Google, aby zobaczyć, jak łatwo jest pobrać współrzędne z adresu.
Więc zakładam, że w tej odpowiedzi, że posty zwyczaj polu „coords”, gdzie współrzędne są przechowywane jako ciąg dwóch oddzielonych przecinkami wartości, cos takiego jak:
'38.897683,-77.03649'
.Zakładam również, że w pliku „page-google-map.php” zapisany jest szablon strony.
Wprowadź następujący kod
functions.php
Jak widać, w szablonie strony mapy kolejkuję
mygmap.js
znajdujący się w podfolderze motywu „js”zapętlając posty, zapełniam tablicę
$map_data
i używamwp_localize_script
jej do js na stronie.Teraz
mygmap.js
będzie zawierać:Język javascript nie jest związany z WP, a tutaj umieszczam tylko, aby pokazać użycie
map_data
var. Nie jestem programistą js, a kod jest mniej więcej całkowicie pobrany z tego miejscaTo wszystko. Wystarczy utworzyć szablon strony i wstawić div z identyfikatorem „map”, na przykład:
Oczywiście div można stylizować za pomocą css, i pamiętaj, że można także stylizować okna informacyjne znaczników: w css użyj,
h3.marker-title
aby stylizować tytuł okna informacyjnego idiv.marker-desc
stylizować zawartość.Pamiętaj, że centrum mapy jest obliczane automatycznie, a jeśli chcesz zmienić domyślne powiększenie, musisz umieścić niestandardowe pole „map_zoom” na stronie przypisanej do szablonu strony mapy.
Mam nadzieję, że to pomoże.
źródło
(37.983917, 23.729359899999963)
gdzie mogę edytować kod, aby mógł używać współrzędnych z hamulcami wokół nich. Moja próba po prostu się nie udała. Dzięki za tę odpowiedź, choć jest niesamowita!$meta_coords = get_post_meta( get_the_ID(), 'coords', true );
, aby$meta_coords = trim(get_post_meta( get_the_ID(), 'coords', true ), '()');
i oczywiście wymienićcoords
dziedziny rzeczywistej zastosowań wtyczek do współrzędnych sklepowych.