Me gustaría "geoetiquetar" todas mis publicaciones y mostrarlas en un solo mapa de Google.
google-maps
geo-data
alekone
fuente
fuente
Respuestas:
Puede hacer esto sin ningún complemento, solo necesita la API de Google Maps .
Tenga en cuenta que si planea tener 20 marcadores o más en una sola página, debe geolocalizar las publicaciones utilizando coordenadas y no direcciones.
Para guardar coordenadas de una dirección, puede:
La forma de implementar la segunda opción no está estrictamente relacionada con la pregunta, y no la tendré en cuenta para mi respuesta, pero consulte este ejemplo de API de Maps para ver qué tan simple es recuperar coordenadas de una dirección.
Así que voy a asumir en esta respuesta que tienen los mensajes '' coords un campo personalizado donde se almacenan las coordenadas como una cadena de dos valores separados por comas, calle detrás como:
'38.897683,-77.03649'
.También supongo que hay una plantilla de página guardada en el archivo 'page-google-map.php'.
Pon el siguiente código en
functions.php
Como puede ver, en la plantilla de la página del mapa, pongo en cola
mygmap.js
ubicado en la subcarpeta 'js' del temaAdemás, al hacer un bucle de las publicaciones, relleno una matriz
$map_data
y uso lawp_localize_script
paso a la js en la página.Ahora
mygmap.js
contendrá:El javascript no está relacionado con WP, y lo puse aquí solo para mostrar el uso de
map_data
var. No soy un desarrollador de js y el código está más o menos enteramente tomado de aquíEso es todo. Simplemente cree la plantilla de página e inserte un div con el id 'mapa', algo así como:
Por supuesto, el div se puede diseñar con css, y tenga en cuenta que también se pueden diseñar las ventanas de información de los marcadores: en el css se usa
h3.marker-title
para diseñar el título de la ventana de información ydiv.marker-desc
el contenido.Tenga en cuenta que el centro del mapa se calcula automáticamente y, si desea cambiar el zoom predeterminado, debe colocar un campo personalizado 'map_zoom' en la página asignada a la plantilla de página del mapa.
Espero eso ayude.
fuente
(37.983917, 23.729359899999963)
¿Dónde puedo editar el código para que pueda usar las coordenadas con corchetes a su alrededor? Mi intento simplemente falló. Gracias por esta respuesta, aunque es increíble!$meta_coords = get_post_meta( get_the_ID(), 'coords', true );
a$meta_coords = trim(get_post_meta( get_the_ID(), 'coords', true ), '()');
y, por supuesto, sustituircoords
al campo real de los usos plugin para almacenar coordenadas.