{"id":211438,"date":"2025-10-23T13:18:26","date_gmt":"2025-10-23T11:18:26","guid":{"rendered":"http:\/\/dev.nutralie.com\/?page_id=211438"},"modified":"2025-10-29T14:13:55","modified_gmt":"2025-10-29T12:13:55","slug":"211438-2","status":"publish","type":"page","link":"https:\/\/dev.nutralie.com\/es\/localizador-puntos-de-venta\/","title":{"rendered":"Localizador de puntos de venta"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><p>[vc_row][vc_column]<div class=\"ult-spacer spacer-69e3952b9e0b6\" data-id=\"69e3952b9e0b6\" data-height=\"75\" data-height-mobile=\"50\" data-height-tab=\"50\" data-height-tab-portrait=\"50\" data-height-mobile-landscape=\"50\" style=\"clear:both;display:block;\"><\/div><h2 class=\"titulo-dos-colores title-1\" style=\"text-align:center !important;\"><span class=\"titulo-negro\">Buscar<\/span> <span class=\"titulo-morado\">puntos de venta<\/span><\/h2><style>\r\n                .titulo-dos-colores .titulo-negro {\r\n                    color: #000000;\r\n                }\r\n                .titulo-dos-colores .titulo-morado {\r\n                    color: #AAA5FF;\r\n                }\r\n            <\/style><div class=\"ult-spacer spacer-69e3952b9e18e\" data-id=\"69e3952b9e18e\" data-height=\"75\" data-height-mobile=\"50\" data-height-tab=\"50\" data-height-tab-portrait=\"50\" data-height-mobile-landscape=\"50\" style=\"clear:both;display:block;\"><\/div>[\/vc_column][\/vc_row][vc_row full_width=\u00bbstretch_row_content_no_spaces\u00bb][vc_column]<div class='form-location-container'><form id=\"form-buscador-farmacias\" class=\"buscador-farmacia\" role=\"search\">\r\n                            <label for=\"filtro-farmacia\" class=\"label-buscador-farmacia\">Localizador<\/label>\r\n                            <div class=\"buscador-input-section\">\r\n                                <input type=\"text\" id=\"filtro-farmacia\" name=\"filtro-farmacia\" placeholder=\"Nombre de la farmacia, poblaci\u00f3n, direcci\u00f3n...\" \/>\r\n                                <button type=\"submit\" id=\"filtro-submit\" class=\"boton-farmacia\"><i class=\"fa-solid fa-magnifying-glass\"><\/i><span class=\"display-none\">Buscar puntos de venta<\/span><\/button>\r\n                            <\/div>\r\n                            <div class=\"utilizar-ubicacion-actual\">\r\n                                <a href=\"#ubicacion\" class=\"ubicacion-actual\"><i class=\"fa-solid fa-location-dot\"><\/i><span class=\"utilizar-ubicacion-actual\">Utilizar ubicaci\u00f3n actual<\/span><\/a>\r\n                                <a href=\"#ubicacion-close\" class=\"ubicacion-actual-none display-none\"><i class=\"fa-solid fa-xmark\"><\/i><span class=\"utilizar-ubicacion-actual\">Borrar ubicaci\u00f3n actual<\/span><\/a>\r\n                            <\/div>\r\n                        <\/form><div class='localizador-section'><div class='loading-section-effect'><\/div><div class='section-contador-farmacias display-none'><p style='text-align: center;'>Hay un total de <span id='contador-farmacias'>0<\/span> <span class='text-contador-famarcias'>puntos de venta<\/span> en esta localizaci\u00f3n.<\/p><\/div><div class='localizador-column-1 display-none'><div class='localizador-section-results'><\/div><\/div><div class='localizador-column-2 display-none'><div class='localizador-mapa' id='localizador-mapa' style='height: 450px; width: 100%;'><\/div><\/div><\/div><\/div><style>\r\n                .form-location-container{\r\n                    padding: 0px 7% !important;\r\n                }\r\n                .localizador-section{\r\n                    display: grid;\r\n                    grid-template-columns: repeat(2, 1fr);\r\n                    margin-top: 10px !important;\r\n                }\r\n                .resultado-farmacia{\r\n                    cursor: pointer;\r\n                    position: relative;\r\n                    background: white;\r\n                }\r\n                .resultado-farmacia.active:after{\r\n                    content: '';\r\n                    background: #f6f6f6;\r\n                    width: 50vw;\r\n                    height: 100%;\r\n                    top: 0px;\r\n                    right: 0px;\r\n                    position: absolute;\r\n                }\r\n                .resultado-farmacia > p{\r\n                    color: black !important;\r\n                    margin-top: 0px !important;\r\n                    margin-bottom: 0px !important;\r\n                    line-height: 24px !important;\r\n                    z-index: 1;\r\n                    position: relative;\r\n                    padding-left: 15px;\r\n                }\r\n                article.resultado-farmacia{\r\n                    border-bottom: 1px solid var(--color-principal) !important;\r\n                    padding-top: 7.5px !important;\r\n                    padding-bottom: 7.5px !important;\r\n                    padding-right: 25px !important;\r\n                }\r\n                article.resultado-farmacia::-webkit-scrollbar-button{\r\n                    display: none !important;\r\n                }\r\n                .buscador-farmacia{\r\n                    max-width: 530px;\r\n                    width: 80%;\r\n                    margin-left: auto;\r\n                    margin-right: auto;\r\n                }\r\n                .buscador-input-section > input{\r\n                    padding: 12px 12px !important;\r\n                    font-size: 16px !important;\r\n                    line-height: 1 !important;\r\n                    color: #707070 !important;\r\n                    border: 1px solid #AAA5FF !important;\r\n                    margin-bottom: 0px !important;\r\n                    border-radius: 5px !important;\r\n                }\r\n                .label-buscador-farmacia{\r\n                    color: black !important;\r\n                }\r\n                .buscador-input-section{\r\n                    position: relative;\r\n                    margin-top: 10px;\r\n                }\r\n                .boton-farmacia{\r\n                    position: absolute;\r\n                    right: 0px;\r\n                    top: 0px;\r\n                    height: 100%;\r\n                    background: none !important;\r\n                    border: none !important;\r\n                    outline: none !important;\r\n                    color: #707070 !important;\r\n                    padding: 0px 15px !important;\r\n                    font-size: 16px !important;\r\n                    cursor: pointer;\r\n                }\r\n                .loading-section-effect,\r\n                .section-contador-farmacias{\r\n                    grid-column: span 2 !important;\r\n                }\r\n                .loading-section-effect > .loading-section-effect-container,\r\n                .section-contador-farmacias > p{\r\n                    text-align: center !important;\r\n                    padding-top: 45px !important;\r\n                    padding-bottom: 45px !important;\r\n                }\r\n                .section-contador-farmacias > p{\r\n                    padding-top: 0px !important;\r\n                    padding-bottom: 35px !important;\r\n                }\r\n                .loading-section-effect > .loading-section-effect-container > i{\r\n                    font-size: 60px !important;\r\n                    color: #AAA5FF !important;\r\n                }\r\n                .localizador-mapa{\r\n                    position: relative;\r\n                    height: 450px;\r\n                }\r\n                .localizador-mapa > iframe{\r\n                    width: 50vw !important;\r\n                    height: 100%;\r\n                    max-width: none !important;\r\n                    position: absolute;\r\n                }\r\n                .localizador-column-1{\r\n                    padding-right: 15px !important;\r\n                }\r\n                .localizador-section-results{\r\n                    overflow-y: scroll;\r\n                    height: 450px;\r\n                    scrollbar-color: #AAA5FF white !important;\r\n                    position: relative;\r\n                }\r\n                .location-results-loader{\r\n                    position: absolute;\r\n                    bottom: 0px;\r\n                    left: 0px;\r\n                    display: flex;\r\n                    width: 100%;\r\n                    height: 100%;\r\n                }\r\n                .location-results-loader > i{\r\n                    margin: auto !important;\r\n                    font-size: 60px !important;\r\n                    color: #AAA5FF !important;\r\n                    z-index: 1;\r\n                }\r\n                .localizador-section i{\r\n                    color: #AAA5FF !important;\r\n                }\r\n                .localizador-column-1{\r\n                    position: relative;\r\n                }\r\n                .loading-new-results .localizador-column-1{\r\n                    overflow: hidden !important;\r\n                }\r\n                .localizador-column-1.loading-new-results:after{\r\n                    content: '';\r\n                    width: 100%;\r\n                    height: 100%;\r\n                    position: absolute;\r\n                    display: block;\r\n                    left: 0px;\r\n                    bottom: 0px;\r\n                    background: white;\r\n                    opacity: 0.7;\r\n                }\r\n                .utilizar-ubicacion-actual{\r\n                    text-align: center;\r\n                    margin-top: 30px;\r\n                    margin-bottom: 30px;\r\n                    text-decoration: underline;\r\n                    margin-left: 5px !important;\r\n                }\r\n                .utilizar-ubicacion-actual > a{\r\n                    font-size: 16px !important;\r\n                }\r\n                .utilizar-ubicacion-actual > a > i{\r\n                    color: #AAA5FF !important;\r\n                }\r\n                .utilizar-ubicacion-actual i{\r\n                    font-size: 22px !important;\r\n                }\r\n                .location-results-loader{\r\n                    z-index: 9 !important;\r\n                    background: #ffffffad !important;\r\n                }\r\n                .custom-cluster-marker {\r\n                    background-color: #3f51b5; \/* Azul *\/\r\n                    color: white;\r\n                    border-radius: 50%;\r\n                    width: 30px;\r\n                    height: 30px;\r\n                    display: flex;\r\n                    justify-content: center;\r\n                    align-items: center;\r\n                    font-weight: bold;\r\n                    font-size: 14px;\r\n                    box-shadow: 0 2px 4px rgba(0,0,0,0.3);\r\n                }\r\n                .titulo-localizador{\r\n                    font-weight: bold !important;\r\n                    color: black !important;\r\n                    font-size: var(--body) !important;\r\n                }\r\n                #contador-farmacias,\r\n                .text-contador-famarcias{\r\n                    font-weight: bold !important;\r\n                }\r\n                @media (max-width: 1024px){\r\n                    .localizador-section{\r\n                        grid-template-columns: 1fr !important;\r\n                    }\r\n                    .form-location-container{\r\n                        padding: 0px !important;\r\n                    }\r\n                    .localizador-mapa > iframe{\r\n                        height: 40vh !important;\r\n                        width: 100% !important;\r\n                        posirion: relative;\r\n                    }\r\n                    .localizador-mapa{\r\n                        height: 40vh;\r\n                    }\r\n                    .loading-section-effect,\r\n                    .section-contador-farmacias{\r\n                        grid-column: span 1 !important;\r\n                        order: 1;\r\n                    }\r\n                    .localizador-column-2{\r\n                        order: 3;\r\n                        position: relative;\r\n                        display: grid;\r\n                    }\r\n                    .localizador-column-1{\r\n                        order: 4;\r\n                        padding-top: 10px;\r\n                        padding-left: 0% !important;\r\n                        padding-right: 0% !important;\r\n                        height: 40vh !important;\r\n                    }\r\n                    .localizador-column-2:after{\r\n                        content: '';\r\n                        background: white;\r\n                        border-radius: 15px 15px 0px 0px;\r\n                        width: 100%;\r\n                        height: 30px;\r\n                        margin-top: -10px;\r\n                        z-index: 1;\r\n                    }\r\n                    .localizador-column-2:before{\r\n                        content: '';\r\n                        background: #AAA5FF;\r\n                        width: 34px;\r\n                        height: 2px;\r\n                        border-radius: 50px;\r\n                        position: absolute;\r\n                        bottom: 15px;\r\n                        left: calc(50% - 17px);\r\n                        z-index: 2;\r\n                    }\r\n                    .buscador-input-section > input,\r\n                    .label-buscador-farmacia{\r\n                        font-size: 10px !important;\r\n                    }\r\n                    .buscador-input-section{\r\n                        margin-top: 3px !important;\r\n                    }\r\n                    .utilizar-ubicacion-actual > a{\r\n                        font-size: 14px !important;\r\n                    }\r\n                    .utilizar-ubicacion-actual{\r\n                        margin-top: 26px !important;\r\n                        margin-bottom: 26px !important;\r\n                    }\r\n                    .resultado-farmacia > p{\r\n                        line-height: 22px !important;\r\n                        padding-left: 0px !important;\r\n                    }\r\n                    article.resultado-farmacia{\r\n                        padding-left: 7.5% !important;\r\n                        padding-right: 7.5% !important;\r\n                    }\r\n                    .resultado-farmacia.active:after{\r\n                        width: 100% !important;\r\n                    }\r\n                }\r\n            <\/style><script>\r\n                let map;\r\n                let markers = [];\r\n                var markerCluster;\r\n                var infoWindow = null;\r\n\r\n                function initMap() {\r\n                    map = new google.maps.Map(document.getElementById('localizador-mapa'), {\r\n                        center: { lat: 40.416775, lng: -3.703790 },\r\n                        zoom: 6\r\n                    });\r\n                    map.addListener('click', function() {\r\n                        if (activeInfoWindow) {\r\n                            activeInfoWindow.close();\r\n                        }\r\n                    });\r\n                    runLocalizadorScript();\r\n                }\r\n\r\n                function runLocalizadorScript() {\r\n                    jQuery(document).ready(function($){\r\n                        let estaCargando = false;\r\n                        let paginaActual = 1;\r\n                        let busquedaActual = '';\r\n\r\n                        if ('geolocation' in navigator) {\r\n                            estaCargando = true;\r\n                            $('.localizador-column-1, .localizador-column-2').addClass('display-none');\r\n                            $('.loading-section-effect').html('<div class=\"loading-section-effect-container\"><i class=\"fas fa-spinner fa-spin\"><\/i><\/div>');\r\n                            $('#filtro-farmacia').val('');\r\n\r\n                            navigator.geolocation.getCurrentPosition(\r\n                                function(position) {\r\n                                    let lat = position.coords.latitude;\r\n                                    let lng = position.coords.longitude;\r\n\r\n                                    estaCargando = false;\r\n                                    llamarAjaxUbicacion(lat, lng); \r\n                                    \r\n                                    $('.localizador-section-results').addClass('localizador-section-results-ubicacion-actual');\r\n                                    $('.ubicacion-actual').addClass('display-none');\r\n                                    $('.ubicacion-actual-none').removeClass('display-none');\r\n                                }, \r\n                                function(error) {\r\n                                    estaCargando = false;\r\n\r\n                                    $('.loading-section-effect').html('');\r\n                                    $('.localizador-column-1, .localizador-column-2').removeClass('display-none');\r\n\r\n                                    filtroFarmacia(true); \r\n                                },\r\n                                {\r\n                                    timeout: 10000,\r\n                                    enableHighAccuracy: false\r\n                                }\r\n                            );\r\n                        }\r\n                        else{\r\n                            filtroFarmacia(true);\r\n                        }\r\n\r\n\r\n                        filtroFarmacia(true);\r\n                        $('#form-buscador-farmacias').submit(function(event){\r\n                            event.preventDefault();\r\n                            $('.localizador-section-results').removeClass('localizador-section-results-ubicacion-actual');\r\n                            filtroFarmacia(true);\r\n                            $('.ubicacion-actual').removeClass('display-none');\r\n                            $('.ubicacion-actual-none, .section-contador-farmacias').addClass('display-none');\r\n                        });\r\n                        function filtroFarmacia(esNuevaBusqueda){\r\n                            if (estaCargando) return;\r\n                            estaCargando = true;\r\n                            if (esNuevaBusqueda) {\r\n                                paginaActual = 1; \/\/ Resetea la p\u00e1gina a 1\r\n                                $('.localizador-column-1, .localizador-column-2').addClass('display-none');\r\n                                $('.loading-section-effect').html('<div class=\"loading-section-effect-container\"><i class=\"fas fa-spinner fa-spin\"><\/i><\/div>');\r\n                            }\r\n                            else {\r\n                                paginaActual++;\r\n                            }\r\n                            let busquedaActual = $('#filtro-farmacia').val();\r\n                            let urlAjax = 'https:\/\/dev.nutralie.com\/wp-content\/themes\/biagiotti-child\/vc-templates-funcionalidades\/localizador-ajax.php';\r\n                            $.ajax({\r\n                                url : urlAjax,\r\n                                data : {\r\n                                    filtroFarmacia : busquedaActual,\r\n                                    pagina: paginaActual\r\n                                },\r\n                                type : 'POST',\r\n                                dataType : 'json',\r\n                                success : function(response){\r\n                                    if (response.success){\r\n                                        if (esNuevaBusqueda) {\r\n                                            $('.localizador-section-results').html(response.data.html);\r\n                                            if (response.data.total_count) {\r\n                                                $('#contador-farmacias').text(response.data.total_count);\r\n                                                $('.section-contador-farmacias').removeClass('display-none');\r\n                                            }\r\n                                            if(response.data.hay_farmacias){\r\n                                                $('.localizador-column-1, .localizador-column-2, .section-contador-farmacias').removeClass('display-none');\r\n                                            }\r\n                                            else{\r\n                                                $('.localizador-column-1, .localizador-column-2, .section-contador-farmacias').addClass('display-none');\r\n                                            }\r\n                                            if (response.data.locations) {\r\n                                                actualizarMarcadores(response.data.locations);\r\n                                            }\r\n                                        }\r\n                                        else {\r\n                                            $('.localizador-section-results').append(response.data.html);\r\n                                        }\r\n                                    }\r\n                                    else{\r\n                                        $('.localizador-section-results').html('<p>' + response.data + '<\/p>');\r\n                                    }\r\n                                    estaCargando = false;\r\n                                    $('.loading-section-effect').html('');\r\n                                    $('.localizador-column-1, .localizador-column-2, .section-contador-farmacias').removeClass('display-none');\r\n                                    $('.localizador-column-1.loading-new-results .location-results-loader').remove();\r\n                                    $('.localizador-column-1').removeClass('loading-new-results');\r\n                                    if(!response.data.hay_farmacias){\r\n                                        $('.localizador-column-1, .localizador-column-2, .section-contador-farmacias').addClass('display-none');\r\n                                        $('.loading-section-effect').html(response.data.html);\r\n                                    }\r\n                                },\r\n                                error : function(xhr, status) {\r\n                                    $('.localizador-section-results').html('<p style=\\'text-align: center;\\'>Problema al cargar los resultados. Int\u00e9ntalo m\u00e1s tarde.<\/p>');\r\n                                },\r\n                                complete : function(xhr, status) {\r\n                                    estaCargando = false;\r\n                                }\r\n                            });\r\n                        }\r\n                        $('.localizador-section-results').on('click', '.resultado-farmacia', function(e) {\r\n                            e.preventDefault();\r\n                            if ($(e.target).closest('a').length) return; \r\n\r\n                            let el = $(this);\r\n                            let nombreFarmacia = $(this).find('.name-farmacia').text();\r\n                            \r\n                            if(markers && markers.length > 0) {\r\n                                for (let i = 0; i < markers.length; i++) {\r\n                                    if (markers[i].getTitle() === nombreFarmacia) {\r\n                                        map.panTo(markers[i].getPosition());\r\n                                        map.setZoom(16);\r\n                                        google.maps.event.trigger(markers[i], 'click');\r\n                                        break;\r\n                                    }\r\n                                }\r\n                            }\r\n\r\n                            $('.resultado-farmacia').removeClass('active');\r\n                            $(this).addClass('active');\r\n                        });\r\n                        function actualizarMapa(direccion, cp, poblacion, provincia) {\r\n                            let urlAjax = 'https:\/\/dev.nutralie.com\/wp-content\/themes\/biagiotti-child\/vc-templates-funcionalidades\/localizador-ajax.php';\r\n\r\n                            $.ajax({\r\n                                url: urlAjax,\r\n                                type: 'POST',\r\n                                dataType: 'json',\r\n                                data: {\r\n                                    mapa_solamente: 1,\r\n                                    direccion: direccion,\r\n                                    cp: cp,\r\n                                    poblacion: poblacion,\r\n                                    provincia: provincia\r\n                                },\r\n                                success: function(response) {\r\n                                    if (response.success && response.data.map_html) {\r\n                                        $('.localizador-mapa').html(response.data.map_html);\r\n                                    }\r\n                                    else {\r\n                                        $('.localizador-mapa').html('<p style=\"text-align:center;\">No se pudo cargar el mapa.<\/p>');\r\n                                    }\r\n                                },\r\n                                error: function() {\r\n                                    $('.localizador-mapa').html('<p style=\"text-align:center;\">Error al solicitar el mapa.<\/p>');\r\n                                }\r\n                            });\r\n                        }\r\n                        $('.localizador-section-results').on('scroll', function() {\r\n                            if($('.location-results-loader').length < 1 && $('.localizador-section-results-ubicacion-actual').length < 1){\r\n                                var scrollCheck = $(this).scrollTop() + $(this).innerHeight();\r\n                                var scrollHeight = this.scrollHeight;\r\n                                if (scrollCheck >= scrollHeight - 2) {\r\n                                    $('.localizador-column-1').addClass('loading-new-results');\r\n                                    $('.localizador-column-1.loading-new-results').append('<div class=\"location-results-loader\"><i class=\"fas fa-spinner fa-spin\"><\/i><\/div>');\r\n                                    filtroFarmacia(false);\r\n                                }\r\n                            }\r\n                        });\r\n                        $('.ubicacion-actual').on('click', function(e) {\r\n                            e.preventDefault();\r\n\r\n                            $('.localizador-section-results').addClass('localizador-section-results-ubicacion-actual');\r\n\r\n                            $('.ubicacion-actual').addClass('display-none');\r\n                            $('.ubicacion-actual-none').removeClass('display-none');\r\n                            \r\n                            \/\/ Asumo que tienes una variable global 'estaCargando'\r\n                            if (estaCargando) return;\r\n\r\n                            \/\/ Comprobar si el navegador soporta Geolocalizaci\u00f3n (\u00a1requiere HTTPS!)\r\n                            if ('geolocation' in navigator) {\r\n                                \r\n                                estaCargando = true;\r\n                                $('.localizador-column-1, .localizador-column-2').addClass('display-none');\r\n                                $('.loading-section-effect').html('<div class=\"loading-section-effect-container\"><i class=\"fas fa-spinner fa-spin\"><\/i><\/div>');\r\n\r\n                                $('#cargar-mas-farmacias').hide();\r\n                                $('#filtro-farmacia').val('');\r\n\r\n                                navigator.geolocation.getCurrentPosition(function(position) {\r\n                                    \/\/ \u00c9XITO\r\n                                    let lat = position.coords.latitude;\r\n                                    let lng = position.coords.longitude;\r\n                                    \r\n                                    \/\/ Llamar a la nueva funci\u00f3n AJAX (solo p\u00e1gina 1)\r\n                                    llamarAjaxUbicacion(lat, lng);\r\n\r\n                                }, function(error) {\r\n                                    \/\/ ERROR (permiso denegado, etc.)\r\n                                    estaCargando = false;\r\n                                    let errorMsg = 'No se pudo obtener tu ubicaci\u00f3n. ';\r\n                                    switch(error.code) {\r\n                                        case error.PERMISSION_DENIED:\r\n                                            errorMsg += 'Has denegado el permiso de ubicaci\u00f3n.'; break;\r\n                                        case error.POSITION_UNAVAILABLE:\r\n                                            errorMsg += 'La informaci\u00f3n de ubicaci\u00f3n no est\u00e1 disponible.'; break;\r\n                                        case error.TIMEOUT:\r\n                                            errorMsg += 'La solicitud de ubicaci\u00f3n ha caducado.'; break;\r\n                                        default:\r\n                                            errorMsg += 'Ha ocurrido un error desconocido.'; break;\r\n                                    }\r\n                                });\r\n\r\n                            }\r\n                        });\r\n                        function llamarAjaxUbicacion(lat, lng) {\r\n                            paginaActual = 1;\r\n                            let urlAjax = 'https:\/\/dev.nutralie.com\/wp-content\/themes\/biagiotti-child\/vc-templates-funcionalidades\/localizador-ajax.php';\r\n\r\n                            $.ajax({\r\n                                url: urlAjax,\r\n                                type: 'POST',\r\n                                dataType: 'json',\r\n                                data: {\r\n                                    pagina: 1, \/\/ Pide solo la p\u00e1gina 1\r\n                                    lat: lat,  \/\/ Enviar latitud\r\n                                    lng: lng   \/\/ Enviar longitud\r\n                                },\r\n                                success: function(response) {\r\n                                    \/\/ Esta parte es un duplicado de tu 'success' en 'llamarAjaxFiltro'\r\n\r\n                                    $('.localizador-column-1, .localizador-column-2').removeClass('display-none');\r\n                                    $('.loading-section-effect').html('');\r\n\r\n                                    if (response.success) {\r\n                                        \/\/ REEMPLAZAR contenido\r\n                                        $('.localizador-section-results').html(response.data.html);\r\n                                        \r\n                                        if(!response.data.hay_farmacias){\r\n                                            $('.localizador-column-1, .localizador-column-2').addClass('display-none');\r\n                                            $('.loading-section-effect').html(response.data.html);\r\n                                        }\r\n                                        if(response.data.hay_farmacias){\r\n                                            $('.localizador-column-1, .localizador-column-2, .section-contador-farmacias').removeClass('display-none');\r\n                                        }\r\n                                        else{\r\n                                            $('.localizador-column-1, .localizador-column-2, .section-contador-farmacias').addClass('display-none');\r\n                                        }\r\n                                        if (response.data.locations) {\r\n                                            actualizarMarcadores(response.data.locations);\r\n                                        }\r\n                                        if (response.data.total_count) {\r\n                                            $('#contador-farmacias').text(response.data.total_count);\r\n                                            $('.section-contador-farmacias').removeClass('display-none');\r\n                                        }\r\n                                        if(response.data.hay_farmacias){\r\n                                            $('.localizador-column-1, .localizador-column-2, .section-contador-farmacias').removeClass('display-none');\r\n                                        }\r\n                                    }\r\n                                    estaCargando = false;\r\n                                },\r\n                                error: function() {\r\n                                    \r\n                                    estaCargando = false;\r\n                                }\r\n                            });\r\n                        }\r\n                        $('.ubicacion-actual-none').on('click', function(e) {\r\n                            e.preventDefault();\r\n                            $('.ubicacion-actual').removeClass('display-none');\r\n                            $('.ubicacion-actual-none').addClass('display-none');\r\n                            filtroFarmacia(true);\r\n                            $('#filtro-farmacia').val('');\r\n                        });\r\n                        function actualizarMarcadores(locations) {\r\n                            for (let i = 0; i < markers.length; i++) {\r\n                                markers[i].setMap(null);\r\n                            }\r\n                            markers = [];\r\n                            if (markerCluster) {\r\n                                markerCluster.clearMarkers();\r\n                            }\r\n                            let bounds = new google.maps.LatLngBounds();\r\n                            locations.forEach(function(loc) {\r\n                                if (!loc.lat || !loc.lng || loc.lat == 'error') return;\r\n                                let marker = new google.maps.Marker({ \r\n                                    position: { lat: loc.lat, lng: loc.lng },\r\n                                    title: loc.nombre \r\n                                });\r\n                                marker.addListener('click', function() {\r\n                                    const content = '<a href=\"https:\/\/www.google.com\/maps\/dir\/?api=1&destination='+ loc.lat + ',' + loc.lng +'\" target=\"!blank\"><p class=\"titulo-localizador\">'+ loc.nombre +'<\/p><p class=\"texto-localizador\">' + loc.direccion + '<\/p><\/a>';\r\n                                    const infoWindow = new google.maps.InfoWindow({\r\n                                        content: content\r\n                                    });\r\n                                    infoWindow.open(map, marker);\r\n                                    \r\n                                    map.panTo(marker.getPosition());\r\n                                });\r\n\r\n                                markers.push(marker);\r\n                                bounds.extend(marker.getPosition());\r\n                            });\r\n                            if (markers.length > 0) {\r\n                                markerCluster = new MarkerClusterer(map, markers, {\r\n                                    imagePath: 'https:\/\/developers.google.com\/maps\/documentation\/javascript\/examples\/markerclusterer\/m'\r\n                                });\r\n                                map.fitBounds(bounds);\r\n                                if (markers.length === 1) {\r\n                                    map.setZoom(15);\r\n                                }\r\n                            }\r\n                        }\r\n                    });\r\n                }\r\n            <\/script><script src=\"https:\/\/maps.googleapis.com\/maps\/api\/js?key=AIzaSyDx9AGoyeG3rTR9tq2EgYnEP79L3nA-z5s&callback=initMap\" async defer><\/script><script src=\"https:\/\/unpkg.com\/@googlemaps\/markerclustererplus\/dist\/index.min.js\" async defer><\/script><div class=\"ult-spacer spacer-69e3952b9e3e3\" data-id=\"69e3952b9e3e3\" data-height=\"75\" data-height-mobile=\"0\" data-height-tab=\"0\" data-height-tab-portrait=\"0\" data-height-mobile-landscape=\"0\" style=\"clear:both;display:block;\"><\/div>[\/vc_column][\/vc_row]<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>[vc_row][vc_column][\/vc_column][\/vc_row][vc_row full_width=\u00bbstretch_row_content_no_spaces\u00bb][vc_column][\/vc_column][\/vc_row]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"full-width.php","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-211438","page","type-page","status-publish","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Localizador de puntos de venta - Nutralie<\/title>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Localizador de puntos de venta - Nutralie\" \/>\n<meta property=\"og:description\" content=\"[vc_row][vc_column][\/vc_column][\/vc_row][vc_row full_width=\u00bbstretch_row_content_no_spaces\u00bb][vc_column][\/vc_column][\/vc_row]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dev.nutralie.com\/es\/localizador-puntos-de-venta\/\" \/>\n<meta property=\"og:site_name\" content=\"Nutralie\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-29T12:13:55+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minuto\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/dev.nutralie.com\\\/es\\\/localizador-puntos-de-venta\\\/\",\"url\":\"https:\\\/\\\/dev.nutralie.com\\\/es\\\/localizador-puntos-de-venta\\\/\",\"name\":\"Localizador de puntos de venta - Nutralie\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dev.nutralie.com\\\/es\\\/#website\"},\"datePublished\":\"2025-10-23T11:18:26+00:00\",\"dateModified\":\"2025-10-29T12:13:55+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/dev.nutralie.com\\\/es\\\/localizador-puntos-de-venta\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/dev.nutralie.com\\\/es\\\/localizador-puntos-de-venta\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/dev.nutralie.com\\\/es\\\/localizador-puntos-de-venta\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/dev.nutralie.com\\\/es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Localizador de puntos de venta\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/dev.nutralie.com\\\/es\\\/#website\",\"url\":\"https:\\\/\\\/dev.nutralie.com\\\/es\\\/\",\"name\":\"Nutralie\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/dev.nutralie.com\\\/es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Localizador de puntos de venta - Nutralie","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"es_ES","og_type":"article","og_title":"Localizador de puntos de venta - Nutralie","og_description":"[vc_row][vc_column][\/vc_column][\/vc_row][vc_row full_width=\u00bbstretch_row_content_no_spaces\u00bb][vc_column][\/vc_column][\/vc_row]","og_url":"https:\/\/dev.nutralie.com\/es\/localizador-puntos-de-venta\/","og_site_name":"Nutralie","article_modified_time":"2025-10-29T12:13:55+00:00","twitter_card":"summary_large_image","twitter_misc":{"Tiempo de lectura":"1 minuto"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/dev.nutralie.com\/es\/localizador-puntos-de-venta\/","url":"https:\/\/dev.nutralie.com\/es\/localizador-puntos-de-venta\/","name":"Localizador de puntos de venta - Nutralie","isPartOf":{"@id":"https:\/\/dev.nutralie.com\/es\/#website"},"datePublished":"2025-10-23T11:18:26+00:00","dateModified":"2025-10-29T12:13:55+00:00","breadcrumb":{"@id":"https:\/\/dev.nutralie.com\/es\/localizador-puntos-de-venta\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dev.nutralie.com\/es\/localizador-puntos-de-venta\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/dev.nutralie.com\/es\/localizador-puntos-de-venta\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dev.nutralie.com\/es\/"},{"@type":"ListItem","position":2,"name":"Localizador de puntos de venta"}]},{"@type":"WebSite","@id":"https:\/\/dev.nutralie.com\/es\/#website","url":"https:\/\/dev.nutralie.com\/es\/","name":"Nutralie","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dev.nutralie.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"}]}},"_links":{"self":[{"href":"https:\/\/dev.nutralie.com\/es\/wp-json\/wp\/v2\/pages\/211438","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dev.nutralie.com\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dev.nutralie.com\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dev.nutralie.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dev.nutralie.com\/es\/wp-json\/wp\/v2\/comments?post=211438"}],"version-history":[{"count":5,"href":"https:\/\/dev.nutralie.com\/es\/wp-json\/wp\/v2\/pages\/211438\/revisions"}],"predecessor-version":[{"id":212094,"href":"https:\/\/dev.nutralie.com\/es\/wp-json\/wp\/v2\/pages\/211438\/revisions\/212094"}],"wp:attachment":[{"href":"https:\/\/dev.nutralie.com\/es\/wp-json\/wp\/v2\/media?parent=211438"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}