Tengo un mapa filtrable en mi sitio de Wordpress que hice con el complemento LocateandFilter en Wordpress que usa un mapa de folleto con una superposición de Google Maps. Quiero que el mapa se acerque al estado cuando se haga clic en la casilla de verificación del estado asociado en el panel izquierdo. Soy decente en el uso de wordpress, codificación que incluye javascript y, dado que esta no es una funcionalidad incluida en el complemento, pensé que podría piratearlo. Sé que necesito ubicar la variable del mapa (que no parece ser un mapa) y cambiar las opciones en función de un clic. No sé cómo seleccionar el mapa y cambiar sus opciones. He estado investigando durante algunas horas y me doy cuenta de que no tengo los antecedentes para resolver esto. Sin embargo, estoy demasiado metido ahora para cambiar los complementos. ¿Alguien puede ayudar?
aquí está la página: https://armor-pt.com/locations/
Si pudiera averiguar cómo seleccionar el mapa/cuál era la variable del mapa, escribiría un código como este:
function zoomArizona(){ if (document.querySelector('div.la-filter-261 input').checked){ mymap.flyTo([34, 111], 5); } else { mymap.flyTo([37, 95], 0); } }Debe inyectar la función que crea el mapa, puede hacerlo de la siguiente manera:
leaflet-filters del script. <script type='text/javascript' src='https://armor-pt.com/wp-content/plugins/locateandfilter/public/js/leaflet-filters/leaflet-filters.js?ver=1.4.11' id='locate-and-filter-leaflet-filters-js'></script> ... <script> <!-- optional --> var oldFnc = leaflet_filters_class; // copy the original function leaflet_filters_class = function(params){ // add your own function to the variable name which will be called later from the plugin var leaflet_filters = new oldFnc(params); // execute the original function window.leaflet_filters = leaflet_filters; // make the result global accessible return leaflet_filters; // return the result, like expected from the original function } <script> <!-- optional --> var mymap = leaflet_filters.map; function zoomArizona(){ if (document.querySelector('div.la-filter-261 input').checked){ mymap.flyTo([34, 111], 5); } else { mymap.flyTo([37, 95], 0); } }