{"id":25341,"date":"2025-09-27T21:12:53","date_gmt":"2025-09-27T21:12:53","guid":{"rendered":"https:\/\/preventaspvr.com\/?page_id=25341"},"modified":"2026-04-17T21:37:17","modified_gmt":"2026-04-17T21:37:17","slug":"buscador","status":"publish","type":"page","link":"https:\/\/preventaspvr.com\/en\/buscador\/","title":{"rendered":"Presale finder"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"25341\" class=\"elementor elementor-25341\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8f1fcb9 e-con-full e-flex e-con e-parent\" data-id=\"8f1fcb9\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e940609 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"e940609\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n    \/* --- ESTILOS GENERALES --- *\/\r\n    body {\r\n        font-family: Arial, sans-serif;\r\n        margin: 0;\r\n        background-color: #f4f7f6;\r\n        color: #333;\r\n    }\r\n    \r\n    .mapa-proyectos-wrapper {\r\n        width: 100%;\r\n        height: 100vh;\r\n        display: flex;\r\n        flex-direction: column;\r\n    }\r\n\r\n    \/* --- CONTENEDOR DE FILTROS --- *\/\r\n    .filtros-container {\r\n        padding: 15px;\r\n        background-color: #ffffff;\r\n        border-bottom: 1px solid #e0e0e0;\r\n        display: flex;\r\n        flex-wrap: wrap;\r\n        justify-content: center;\r\n        align-items: center;\r\n        gap: 15px;\r\n        box-shadow: 0 2px 10px rgba(0,0,0,0.05);\r\n        box-sizing: border-box;\r\n    }\r\n\r\n    .filtros-container select {\r\n        padding: 10px;\r\n        border: 1px solid #ccc;\r\n        border-radius: 4px;\r\n        font-size: 16px;\r\n    }\r\n\r\n    #contador-resultados {\r\n        font-weight: bold;\r\n        color: #555;\r\n        margin-left: 15px;\r\n    }\r\n\r\n    \/* --- ESTRUCTURA PRINCIPAL (PANTALLA DIVIDIDA) --- *\/\r\n    .main-container {\r\n        display: flex;\r\n        flex-grow: 1;\r\n        overflow: hidden;\r\n    }\r\n\r\n    .sidebar-cards {\r\n        width: 60%;\r\n        overflow-y: auto;\r\n        background-color: #f9f9f9;\r\n        padding: 25px;\r\n        box-sizing: border-box;\r\n    }\r\n\r\n    .map-container {\r\n        width: 40%;\r\n        height: 100%;\r\n    }\r\n\r\n    #map {\r\n        height: 100%;\r\n        width: 100%;\r\n    }\r\n\r\n    \/* --- DISE\u00d1O DE TARJETAS DE PROYECTO --- *\/\r\n    #contenedor-proyectos {\r\n        display: flex;\r\n        flex-wrap: wrap;\r\n        justify-content: flex-start;\r\n        gap: 25px;\r\n    }\r\n\r\n    .tarjeta-proyecto {\r\n        background-color: #ffffff;\r\n        border-radius: 8px;\r\n        width: calc(50% - 15px);\r\n        min-width: 300px;\r\n        box-shadow: 0 4px 8px rgba(0,0,0,0.08);\r\n        overflow: hidden;\r\n        display: flex;\r\n        flex-direction: column;\r\n        transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;\r\n    }\r\n\r\n    .tarjeta-proyecto a {\r\n        text-decoration: none;\r\n        color: inherit;\r\n        display: flex;\r\n        flex-direction: column;\r\n        height: 100%;\r\n    }\r\n\r\n    .tarjeta-proyecto:hover {\r\n        transform: translateY(-5px);\r\n        box-shadow: 0 8px 15px rgba(0,0,0,0.12);\r\n    }\r\n\r\n    .tarjeta-proyecto img {\r\n        width: 100%;\r\n        height: 200px;\r\n        object-fit: cover;\r\n    }\r\n\r\n    .tarjeta-proyecto-info {\r\n        padding: 20px;\r\n        text-align: center;\r\n        flex-grow: 1;\r\n        display: flex;\r\n        flex-direction: column;\r\n    }\r\n\r\n    .tarjeta-proyecto-info h3 {\r\n        margin: 0 0 8px 0;\r\n        font-size: 1.2em;\r\n        color: #222;\r\n    }\r\n\r\n    .tarjeta-proyecto-info p {\r\n        margin: 4px 0;\r\n        color: #555;\r\n        font-size: 0.95em;\r\n    }\r\n\r\n    .tarjeta-proyecto-price {\r\n        font-weight: bold;\r\n        color: #C40000;\r\n        margin-top: auto;\r\n        padding-top: 10px;\r\n        font-size: 1.1em;\r\n    }\r\n\r\n    \/* --- INFOWINDOW DE GOOGLE MAPS --- *\/\r\n    .info-window-content {\r\n        text-align: center;\r\n        padding: 10px;\r\n        max-width: 220px;\r\n    }\r\n\r\n    .info-window-content h3 {\r\n        margin: 0 0 10px 0;\r\n        color: #333;\r\n    }\r\n\r\n    .info-window-content img {\r\n        max-width: 200px;\r\n        height: auto;\r\n        border-radius: 8px;\r\n        margin-bottom: 15px;\r\n    }\r\n\r\n    .info-window-content p {\r\n        margin: 5px 0;\r\n        color: #555;\r\n    }\r\n\r\n    .info-window-content .project-button {\r\n        background-color: #ffffff;\r\n        color: #C40000;\r\n        border: 1px solid #C40000;\r\n        padding: 10px 15px;\r\n        border-radius: 4px;\r\n        cursor: pointer;\r\n        text-decoration: none;\r\n        display: inline-block;\r\n        margin-top: 10px;\r\n        font-weight: bold;\r\n        transition: all 0.3s ease;\r\n    }\r\n\r\n    .info-window-content .project-button:hover {\r\n        background-color: #C40000;\r\n        color: white;\r\n    }\r\n\r\n    \/* --- RESPONSIVIDAD PARA M\u00d3VILES --- *\/\r\n    @media (max-width: 1024px) {\r\n        .mapa-proyectos-wrapper {\r\n            height: auto;\r\n        }\r\n        .main-container {\r\n            flex-direction: column;\r\n            height: auto;\r\n        }\r\n        .sidebar-cards, .map-container {\r\n            width: 100%;\r\n            max-height: none;\r\n        }\r\n        .sidebar-cards {\r\n            order: 2;\r\n        }\r\n        .map-container {\r\n            height: 50vh;\r\n            order: 1;\r\n        }\r\n        .tarjeta-proyecto {\r\n            width: calc(50% - 20px);\r\n        }\r\n    }\r\n\r\n    @media (max-width: 600px) {\r\n        .tarjeta-proyecto {\r\n            width: 100%;\r\n        }\r\n        .filtros-container {\r\n            height: auto;\r\n            padding: 15px 5px;\r\n        }\r\n        .filtros-container select {\r\n            width: 100%;\r\n        }\r\n    }\r\n<\/style>\r\n\r\n<div class=\"mapa-proyectos-wrapper\">\r\n    <div class=\"filtros-container\">\r\n        <select id=\"filtro-ciudad\">\r\n            <option value=\"todas\">Todas las ciudades<\/option>\r\n            <option value=\"Bucer\u00edas\">Bucer\u00edas<\/option>\r\n            <option value=\"La Cruz de Huanacaxtle\">La Cruz de Huanacaxtle<\/option>\r\n            <option value=\"La Pe\u00f1ita de Jaltemba\">La Pe\u00f1ita de Jaltemba<\/option>\r\n            <option value=\"Mezcales\">Mezcales<\/option>\r\n            <option value=\"Nuevo Vallarta\">Nuevo Vallarta<\/option>\r\n            <option value=\"Puerto Vallarta\">Puerto Vallarta<\/option>\r\n            <option value=\"San Vicente\">San Vicente<\/option>\r\n            <option value=\"Sayulita\">Sayulita<\/option>\r\n            <option value=\"Tondoroque\">Tondoroque<\/option>\r\n            <option value=\"Valle Dorado\">Valle Dorado<\/option>\r\n        <\/select>\r\n        <select id=\"filtro-tipo\">\r\n            <option value=\"todos\">Todos los tipos<\/option>\r\n            <option value=\"Departamentos\">Departamentos<\/option>\r\n            <option value=\"Casas\">Casas<\/option>\r\n            <option value=\"Estudios\">Estudios<\/option>\r\n            <option value=\"Terrenos\">Terrenos<\/option>\r\n        <\/select>\r\n        <select id=\"filtro-precio\">\r\n            <option value=\"todos\">Presupuesto<\/option>\r\n            <option value=\"0-3000000\">Menos de $3 MDP<\/option>\r\n            <option value=\"3000000-5000000\">Entre $3 y $5 MDP<\/option>\r\n            <option value=\"5000000-8000000\">Entre $5 y $8 MDP<\/option>\r\n            <option value=\"8000000-9999999999\">M\u00e1s de $8 MDP<\/option>\r\n        <\/select>\r\n        <select id=\"filtro-recamaras\">\r\n            <option value=\"todas\">Rec\u00e1maras<\/option>\r\n            <option value=\"0\">Estudios<\/option>\r\n            <option value=\"1\">1 rec\u00e1mara<\/option>\r\n            <option value=\"2\">2 rec\u00e1maras<\/option>\r\n            <option value=\"3\">3 rec\u00e1maras<\/option>\r\n            <option value=\"4\">4+ rec\u00e1maras<\/option>\r\n        <\/select>\r\n        <div id=\"contador-resultados\"><\/div>\r\n    <\/div>\r\n\r\n    <div class=\"main-container\">\r\n        <div class=\"sidebar-cards\">\r\n            <div id=\"contenedor-proyectos\">\r\n                <\/div>\r\n        <\/div>\r\n        <div class=\"map-container\">\r\n            <div id=\"map\"><\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n<script>\r\n    \/\/ Arreglo de locaciones\r\n    const locations = [\r\n        { position: { lat: 20.729476, lng: -105.286462 }, nombre: \"ARAQUUNA\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2024\/03\/1-13.jpg\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/araquuna\", ciudad: \"Mezcales\", unidades: [ { recamaras: 1, precio: 2833017 }, { recamaras: 2, precio: 3517503 }, { recamaras: 3, precio: 4135296 } ] },\r\n        { position: { lat: 20.747968, lng: -105.388260 }, nombre: \"ALAMAR LA SELVA\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2024\/08\/Miniature-750-\u00d7-563-px.png\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/ALAMAR\", ciudad: \"La Cruz de Huanacaxtle\", unidades: [ { recamaras: 1, precio: 7317437 }, { recamaras: 2, precio: 12082860 }, { recamaras: 3, precio: 14582202 } ] },\r\n        { position: { lat: 20.755890, lng: -105.370125 }, nombre: \"CRYSTAL COVE\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2024\/09\/1-2-1.png\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/crystal-cove\", ciudad: \"La Cruz de Huanacaxtle\", unidades: [ { recamaras: 1, precio: 8400000 }, { recamaras: 2, precio: 9725041 }, { recamaras: 3, precio: 15965000 } ] },\r\n        { position: { lat: 20.753131, lng: -105.331812 }, nombre: \"N\u00c1ANA TOWER\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2025\/07\/1-31.png\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/naana\", ciudad: \"Bucer\u00edas\", unidades: [ { recamaras: 2, precio: 6495000 } ] },\r\n        { position: { lat: 20.750092, lng: -105.330784 }, nombre: \"ALMA\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2025\/07\/1-32.png\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/alma\", ciudad: \"Bucer\u00edas\", unidades: [ { recamaras: 2, precio: 5950000 }, { recamaras: 3, precio: 11200000 } ] },\r\n        { position: { lat: 20.660480, lng: -105.241912 }, nombre: \"DUE\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2025\/08\/1-33.png\", tipo: [\"Estudios\", \"Departamentos\"], url: \"https:\/\/preventaspvr.com\/due\", ciudad: \"Puerto Vallarta\", unidades: [ { recamaras: 0, precio: 2900000 }, { recamaras: 1, precio: 3600000 }, { recamaras: 2, precio: 10000000 } ] },\r\n        { position: { lat: 21.045657, lng: -105.247136 }, nombre: \"NUKMA BEACHFRONT LIFE\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2025\/08\/1-35.png\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/nukma-beachfront-life\", ciudad: \"La Pe\u00f1ita de Jaltemba\", unidades: [ { recamaras: 1, precio: 3357090 }, { recamaras: 2, precio: 4369410 } ] },\r\n        { position: { lat: 20.722660, lng: -105.210046 }, nombre: \"BLOSSOM GRAND PARK\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2024\/10\/1-3-1.png\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/blossom-grand-park\", ciudad: \"Puerto Vallarta\", unidades: [ { recamaras: 2, precio: 2649600 }, { recamaras: 3, precio: 3459781 } ] },\r\n        { position: { lat: 20.760688, lng: -105.347195 }, nombre: \"LUXURY WAVES\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2024\/10\/1-4-1.png\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/luxury-waves\", ciudad: \"Bucer\u00edas\", unidades: [ { recamaras: 2, precio: 8178854} ] },\r\n        { position: { lat: 20.759417, lng: -105.345018 }, nombre: \"ALLEGRA\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2024\/11\/1-8.png\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/allegra\", ciudad: \"Bucer\u00edas\", unidades: [ { recamaras: 2, precio: 7192000 } ] },\r\n        { position: { lat: 20.716320, lng: -105.275321 }, nombre: \"VAHA\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2024\/11\/1-9.png\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/vaha\", ciudad: \"Valle Dorado\", unidades: [ { recamaras: 2, precio: 3637000 } ] },\r\n        { position: { lat: 20.702790, lng: -105.269593 }, nombre: \"C\u00cfY\u00c9 RESIDENCIAL\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2024\/08\/1-8.png\", tipo: [\"Casas\"], url: \"https:\/\/preventaspvr.com\/ciye\", ciudad: \"Nuevo Vallarta\", unidades: [ { recamaras: 3, precio: 9063000 } ] },\r\n        { position: { lat: 20.707256, lng: -105.279889 }, nombre: \"D\u00b4TOSCANA\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2024\/08\/1-5.png\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/dtoscana\", ciudad: \"Nuevo Vallarta\", unidades: [ { recamaras: 2, precio: 6430000 }, { recamaras: 3, precio: 8620000 } ] },\r\n        { position: { lat: 20.666756, lng: -105.260497 }, nombre: \"ESPACIO MARINA & GOLF\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2024\/08\/1-1-1.png\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/espacio-marina-golf\", ciudad: \"Puerto Vallarta\", unidades: [ { recamaras: 1, precio: 4668068 }, { recamaras: 2, precio: 17633271 }, { recamaras: 3, precio: 17013204 } ] },\r\n        { position: { lat: 20.753963, lng: -105.308435 }, nombre: \"AREKAS\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2024\/09\/Miniature-750-\u00d7-563-px-1.png\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/arekas\", ciudad: \"Bucer\u00edas\", unidades: [ { recamaras: 2, precio: 5700000 }, { recamaras: 3, precio: 7000000 } ] },\r\n        { position: { lat: 20.738421, lng: -105.307488 }, nombre: \"ANTHUS FLAMINGOS\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2024\/05\/1-2.png\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/anthus-flamingos\", ciudad: \"Bucer\u00edas\", unidades: [ { recamaras: 2, precio: 8320000 }, { recamaras: 3, precio: 13320000 } ] },\r\n        { position: { lat: 20.634414, lng: -105.227744 }, nombre: \"QUARTIER\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2024\/05\/1-5.png\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/quartier\", ciudad: \"Puerto Vallarta\", unidades: [ { recamaras: 1, precio: 4296637 }, { recamaras: 2, precio: 7748637 }, { recamaras: 3, precio: 8685036 } ] },\r\n        { position: { lat: 20.705103, lng: -105.287710 }, nombre: \"B\u00c1LICA\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2024\/05\/1-3-1.png\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/balica\", ciudad: \"Nuevo Vallarta\", unidades: [ { recamaras: 1, precio: 6210721 }, { recamaras: 2, precio: 9655192 }, { recamaras: 3, precio: 12205192 } ] },\r\n        { position: { lat: 20.684325, lng: -105.216345 }, nombre: \"HIV\u00c1TA\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2024\/05\/1-3-2.png\", tipo: [\"Terrenos\"], url: \"https:\/\/preventaspvr.com\/hivata\", ciudad: \"Puerto Vallarta\", unidades: [ { recamaras: 0, precio: 1312500 } ] },\r\n        { position: { lat: 20.741661, lng: -105.291630 }, nombre: \"MATIARI PARQUE RESIDENCIAL\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2023\/09\/1-41.jpg\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/matiari-parque-residencial\", ciudad: \"Tondoroque\", unidades: [ { recamaras: 2, precio: 3999000 } ] },\r\n        { position: { lat: 20.657932, lng: -105.245809 }, nombre: \"MARINA TOWERS\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2023\/09\/Sans-titre-750-\u00d7-563-px.jpg\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/marina-towers\", ciudad: \"Puerto Vallarta\", unidades: [ { recamaras: 2, precio: 21717250 },  { recamaras: 4, precio: 38222361 } ] },\r\n        { position: { lat: 20.757152, lng: -105.368422 }, nombre: \"ZUL BY LA CRUZ\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2023\/09\/Sans-titre-750-\u00d7-563-px-1.jpg\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/zul-by-la-cruz\", ciudad: \"La Cruz de Huanacaxtle\", unidades: [ { recamaras: 1, precio: 7510158 },\r\n        { recamaras: 2, precio: 11092000 } ] },\r\n        { position: { lat: 20.710275, lng: -105.284427 }, nombre: \"KI GREEN DISTRICT\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2023\/09\/Sans-titre-750-\u00d7-563-px-2.jpg\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/ki-green-district\", ciudad: \"Nuevo Vallarta\", unidades: [ { recamaras: 2, precio: 4942548 }, { recamaras: 3, precio: 7672609 }, { recamaras: 4, precio: 9771580 } ] },\r\n        { position: { lat: 20.630349, lng: -105.232551 }, nombre: \"TRIDENTA TOWERS\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2025\/07\/1-25.png\", tipo: [\"Estudios\", \"Departamentos\"], url: \"https:\/\/preventaspvr.com\/tridenta-towers\", ciudad: \"Puerto Vallarta\", unidades: [ { recamaras: 0, precio: 4674517 }, { recamaras: 1, precio: 6929320 }, { recamaras: 2, precio: 8660492 }, { recamaras: 3, precio: 19363562 } ] },\r\n        { position: { lat: 20.727819, lng: -105.306508 }, nombre: \"TERRAMAR\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2023\/09\/Sans-titre-750-\u00d7-563-px-4.jpg\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/terramar\", ciudad: \"Nuevo Vallarta\", unidades: [ { recamaras: 2, precio: 7875000 } ] },\r\n        { position: { lat: 20.701570, lng: -105.274590 }, nombre: \"LE CURVE\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2023\/09\/Sans-titre-750-\u00d7-563-px-5.jpg\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/le-curve\", ciudad: \"Nuevo Vallarta\", unidades: [ { recamaras: 1, precio: 4628073 }, { recamaras: 2, precio: 5403257 },  { recamaras: 3, precio: 7353955 }, { recamaras: 4, precio: 10790549 } ] },\r\n        { position: { lat: 20.743744, lng: -105.294706 }, nombre: \"RISCO RESIDENCIAL\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2025\/04\/1-15.png\", tipo: [\"Casas\"], url: \"https:\/\/preventaspvr.com\/el-risco-residencial\", ciudad: \"Tondoroque\", unidades: [ { recamaras: 2, precio: 4900000 }, { recamaras: 3, precio: 5634100 } ] },\r\n        { position: { lat: 20.707486, lng: -105.279438 }, nombre: \"NOVO MARE\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2025\/06\/1-24.png\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/nove-mare\", ciudad: \"Nuevo Vallarta\", unidades: [ { recamaras: 1, precio: 5269950 }, { recamaras: 2, precio: 6307350 }, { recamaras: 3, precio: 9385950 } ] },\r\n        { position: { lat: 20.707364, lng: -105.274602 }, nombre: \"PALMARENA\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2025\/07\/1-26.png\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/palmarena\", ciudad: \"Nuevo Vallarta\", unidades: [ { recamaras: 2, precio: 5089000 }, { recamaras: 3, precio: 6809000 } ] },\r\n        { position: { lat: 20.865706, lng: -105.441061 }, nombre: \"PAPALOTE\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2025\/08\/1-36.png\", tipo: [\"Casas\"], url: \"https:\/\/preventaspvr.com\/papalote\", ciudad: \"Sayulita\", unidades: [ { recamaras: 3, precio: 9157500 } ] },\r\n        { position: { lat: 20.741693, lng: -105.251317 }, nombre: \"SAN VICENTE 330\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2025\/08\/1-38.png\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/san vicente-330\", ciudad: \"San Vicente\", unidades: [ { recamaras: 2, precio: 1120000 } ] },\r\n        { position: { lat: 20.622766, lng: -105.230200 }, nombre: \"V'BOULEVARD\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2025\/08\/1-39.png\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/vboulevard\", ciudad: \"Puerto Vallarta\", unidades: [ { recamaras: 1, precio: 6453000 }, { recamaras: 2, precio: 14102000 }, { recamaras: 3, precio: 18012000 } ] },\r\n        { position: { lat: 20.759967, lng: -105.336876 }, nombre: \"AMANI\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2025\/08\/1-40.png\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/amani\", ciudad: \"Bucer\u00edas\", unidades: [ { recamaras: 2, precio: 6023893 } ] },\r\n        { position: { lat: 20.683110, lng: -105.218646 }, nombre: \"ARVORE\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2025\/08\/1-43.png\", tipo: [\"Terrenos\"], url: \"https:\/\/preventaspvr.com\/arvore\", ciudad: \"Puerto Vallarta\", unidades: [ { recamaras: 0, precio: 1350000 } ] },\r\n        { position: { lat: 20.755281, lng: -105.340335 }, nombre: \"BAHIBAN\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2025\/09\/1-44.png\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/bahiban-bucerias\", ciudad: \"Bucer\u00edas\", unidades: [ { recamaras: 2, precio: 9147100 }, { recamaras: 3, precio: 17998950 } ] },\r\n        { position: { lat: 20.752214, lng: -105.328102 }, nombre: \"XANO\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2025\/09\/1-45.png\", tipo: [\"Departamentos\"], url: \"https:\/\/preventaspvr.com\/xano-bucerias\", ciudad: \"Bucer\u00edas\", unidades: [ { recamaras: 2, precio: 5490000 } ] },\r\n        { position: { lat: 20.740518, lng: -105.256823 }, nombre: \"ZAFIRO\", imagen: \"https:\/\/preventaspvr.com\/wp-content\/uploads\/2025\/09\/1-46.png\", tipo: [\"Casas\", \"Departamentos\"], url: \"https:\/\/preventaspvr.com\/zafiro-residencial\", ciudad: \"San Vicente\", unidades: [ { recamaras: 3, precio: 1469174 } ] }\r\n    ];\r\n\r\n    \/\/ === CONFIGURACI\u00d3N Y CONSTANTES ===\r\n    let map;\r\n    let infoWindow;\r\n    let allMarkers = [];\r\n\r\n    const PROYECTOS_USD = [\r\n        \"PAPALOTE\", \"MARINA TOWERS\", \"QUARTIER\", \"ALAMAR LA SELVA\", \"TRIDENTA TOWERS\", \"CRYSTAL COVE\"\r\n    ];\r\n\r\n    const formateadorDePrecio = new Intl.NumberFormat('es-MX', {\r\n        style: 'decimal', minimumFractionDigits: 0, maximumFractionDigits: 0,\r\n    });\r\n\r\n    \/\/ === FUNCIONES AUXILIARES DE FORMATO ===\r\n    function formatearTipo(tipo) {\r\n        return (Array.isArray(tipo) ? tipo : [tipo]).join(' y ');\r\n    }\r\n\r\n    function formatearRecamaras(unidades, tipoFormateado) {\r\n        if (!unidades || unidades.length === 0) return tipoFormateado;\r\n        const omitirCeroRecamaras = tipoFormateado.includes('Estudios') || tipoFormateado.includes('Terrenos');\r\n        const recamaras = [...new Set(unidades.map(u => u.recamaras))];\r\n        const recamarasParaRango = omitirCeroRecamaras ? recamaras.filter(r => r > 0) : recamaras;\r\n\r\n        if (recamarasParaRango.length === 0) return tipoFormateado;\r\n        \r\n        const minRec = Math.min(...recamarasParaRango);\r\n        const maxRec = Math.max(...recamarasParaRango);\r\n        \r\n        const textoRango = (minRec === maxRec)\r\n            ? `de ${minRec} rec\u00e1mara${minRec > 1 ? 's' : ''}`\r\n            : `de ${minRec} a ${maxRec} rec\u00e1maras`;\r\n\r\n        return `${tipoFormateado} ${textoRango}`.trim();\r\n    }\r\n\r\n    function formatearPrecio(location) {\r\n        if (!location.unidades || location.unidades.length === 0) return \"Precio no disponible\";\r\n        const precioMasBajo = Math.min(...location.unidades.map(u => u.precio));\r\n        let textoPrecio = '$' + formateadorDePrecio.format(precioMasBajo) + ' MXN';\r\n        if (PROYECTOS_USD.includes(location.nombre.toUpperCase())) {\r\n            textoPrecio = '$' + formateadorDePrecio.format(precioMasBajo) + ' MXN';\r\n        }\r\n        return `Desde ${textoPrecio}`;\r\n    }\r\n\r\n    \/\/ === PROCESAMIENTO INICIAL DE DATOS ===\r\n    locations.forEach(location => {\r\n        const tipoFormateado = formatearTipo(location.tipo);\r\n        location.descripcionRecamaras = formatearRecamaras(location.unidades, tipoFormateado);\r\n        location.descripcionPrecio = formatearPrecio(location);\r\n    });\r\n\r\n    \/\/ === FUNCIONES PRINCIPALES DEL MAPA ===\r\n    function initMap() {\r\n        generarTarjetas();\r\n        map = new google.maps.Map(document.getElementById(\"map\"), {\r\n            zoom: 11, center: { lat: 20.70, lng: -105.35 }, mapId: \"MAPA_DE_PROYECTOS_PVR\"\r\n        });\r\n        infoWindow = new google.maps.InfoWindow();\r\n        \r\n        locations.forEach(location => {\r\n            const marker = new google.maps.marker.AdvancedMarkerElement({\r\n                map, position: location.position, title: location.nombre,\r\n            });\r\n            marker.addListener(\"click\", () => mostrarInfoWindow(location, marker));\r\n            allMarkers.push(marker);\r\n        });\r\n\r\n        document.querySelectorAll('.filtros-container select').forEach(filtro => {\r\n            filtro.addEventListener('change', aplicarFiltros);\r\n        });\r\n        \r\n        vincularTarjetasYMarcadores();\r\n        aplicarFiltros(); \r\n    }\r\n\r\n    function generarTarjetas() {\r\n        const contenedor = document.getElementById('contenedor-proyectos');\r\n        contenedor.innerHTML = locations.map(location => `\r\n            <div class=\"tarjeta-proyecto\" data-nombre=\"${location.nombre}\">\r\n                <a href=\"${location.url}\" target=\"_blank\">\r\n                    <img decoding=\"async\" src=\"${location.imagen}\" alt=\"Imagen de ${location.nombre}\">\r\n                    <div class=\"tarjeta-proyecto-info\">\r\n                        <h3>${location.nombre}<\/h3>\r\n                        <p>${location.descripcionRecamaras}<\/p>\r\n                        <p class=\"tarjeta-proyecto-price\">${location.descripcionPrecio}<\/p>\r\n                    <\/div>\r\n                <\/a>\r\n            <\/div>`).join('');\r\n    }\r\n\r\n    function vincularTarjetasYMarcadores() {\r\n        document.querySelectorAll('.tarjeta-proyecto').forEach(tarjeta => {\r\n            const nombreProyecto = tarjeta.dataset.nombre;\r\n            const marcador = allMarkers.find(m => m.title === nombreProyecto);\r\n            if (!marcador) return;\r\n\r\n            tarjeta.addEventListener('mouseover', () => {\r\n                allMarkers.forEach(m => { m.map = null; });\r\n                marcador.map = map;\r\n            });\r\n            tarjeta.addEventListener('mouseout', aplicarFiltros);\r\n            tarjeta.addEventListener('click', evento => {\r\n                if (evento.target.tagName !== 'A' && !evento.target.closest('a')) {\r\n                    evento.preventDefault();\r\n                    map.panTo(marcador.position);\r\n                    map.setZoom(15);\r\n                    const location = locations.find(loc => loc.nombre === nombreProyecto);\r\n                    mostrarInfoWindow(location, marcador);\r\n                }\r\n            });\r\n        });\r\n    }\r\n\r\n    function mostrarInfoWindow(location, marker) {\r\n        const contentDiv = document.createElement('div');\r\n        contentDiv.className = 'info-window-content';\r\n        contentDiv.innerHTML = '<div style=\"padding:10px;\">Cargando...<\/div>';\r\n\r\n        infoWindow.setContent(contentDiv);\r\n        infoWindow.open({ anchor: marker, map });\r\n\r\n        const img = new Image();\r\n        img.onload = () => {\r\n            contentDiv.innerHTML = '';\r\n            img.alt = location.nombre;\r\n\r\n            const title = document.createElement('h3');\r\n            title.textContent = location.nombre;\r\n\r\n            const desc = document.createElement('p');\r\n            desc.textContent = location.descripcionRecamaras;\r\n            \r\n            const price = document.createElement('p');\r\n            price.textContent = location.descripcionPrecio;\r\n            \r\n            const link = document.createElement('a');\r\n            link.href = location.url;\r\n            link.target = '_blank';\r\n            link.className = 'project-button';\r\n            link.textContent = 'Ver el proyecto';\r\n            \r\n            contentDiv.appendChild(img);\r\n            contentDiv.appendChild(title);\r\n            contentDiv.appendChild(desc);\r\n            contentDiv.appendChild(price);\r\n            contentDiv.appendChild(link);\r\n        };\r\n        img.onerror = () => {\r\n            contentDiv.innerHTML = 'Error al cargar la imagen.';\r\n        };\r\n        img.src = location.imagen;\r\n    }\r\n\r\n    \/\/ === L\u00d3GICA DE FILTRADO CORREGIDA (VERSI\u00d3N FINAL) ===\r\n    function aplicarFiltros() {\r\n        let contador = 0;\r\n        const filtros = {\r\n            ciudad: document.getElementById('filtro-ciudad').value,\r\n            tipo: document.getElementById('filtro-tipo').value,\r\n            precio: document.getElementById('filtro-precio').value,\r\n            recamaras: document.getElementById('filtro-recamaras').value,\r\n        };\r\n\r\n        locations.forEach(location => {\r\n            const coincide = verificarCoincidencia(location, filtros);\r\n            const tarjeta = document.querySelector(`.tarjeta-proyecto[data-nombre=\"${location.nombre}\"]`);\r\n            const marcador = allMarkers.find(m => m.title === location.nombre);\r\n            \r\n            if (tarjeta) tarjeta.style.display = coincide ? 'flex' : 'none';\r\n            if (marcador) marcador.map = coincide ? map : null;\r\n            if (coincide) contador++;\r\n        });\r\n\r\n        const contadorEl = document.getElementById('contador-resultados');\r\n        if (contadorEl) {\r\n            contadorEl.textContent = `${contador} de ${locations.length} proyectos encontrados`;\r\n        }\r\n    }\r\n\r\n    function verificarCoincidencia(location, filtros) {\r\n        const { ciudad, tipo, precio, recamaras } = filtros;\r\n        const tiposDelProyecto = Array.isArray(location.tipo) ? location.tipo : [location.tipo];\r\n\r\n        \/\/ 1. Filtro de CIUDAD (Nivel de Proyecto)\r\n        if (ciudad !== 'todas' && location.ciudad !== ciudad) {\r\n            return false;\r\n        }\r\n\r\n        \/\/ 2. Si el tipo de proyecto no coincide con el tipo seleccionado, descartar.\r\n        if (tipo !== 'todos' && !tiposDelProyecto.includes(tipo)) {\r\n            return false;\r\n        }\r\n        \r\n        \/\/ 3. Revisamos si **alguna unidad individual** cumple con la combinaci\u00f3n de filtros (Tipo, Precio y Rec\u00e1maras).\r\n        let existeUnidadCoincidente = false;\r\n        const [minPrecio, maxPrecio] = precio !== 'todos' ? precio.split('-').map(Number) : [0, Infinity];\r\n        const recamarasNum = parseInt(recamaras, 10);\r\n\r\n\r\n        for (const unidad of (location.unidades || [])) {\r\n            let cumple = true;\r\n\r\n            \/\/ A. Filtrar por PRECIO\r\n            if (precio !== 'todos') {\r\n                if (unidad.precio < minPrecio || unidad.precio > maxPrecio) {\r\n                    cumple = false;\r\n                }\r\n            }\r\n\r\n            \/\/ B. Filtrar por REC\u00c1MARAS\r\n            if (cumple && recamaras !== 'todas') {\r\n                if (recamarasNum >= 4) {\r\n                    if (unidad.recamaras < 4) {\r\n                        cumple = false;\r\n                    }\r\n                } else if (unidad.recamaras !== recamarasNum) {\r\n                    cumple = false;\r\n                }\r\n            }\r\n\r\n            \/\/ C. Filtrar por TIPO (Asegura consistencia con las rec\u00e1maras)\r\n            if (cumple && tipo !== 'todos') {\r\n                if (tipo === 'Estudios' && unidad.recamaras !== 0) {\r\n                    cumple = false;\r\n                }\r\n                if (tipo === 'Terrenos' && unidad.recamaras !== 0) {\r\n                    cumple = false;\r\n                }\r\n                \/\/ Si el tipo es Departamentos\/Casas, ya se descart\u00f3 si el proyecto no lo tiene (paso 2),\r\n                \/\/ y la unidad tiene rec\u00e1maras > 0 (cubierto por el filtro de rec\u00e1maras).\r\n            }\r\n            \r\n            \/\/ Si una unidad cumple con TODAS las condiciones, el proyecto se muestra\r\n            if (cumple) {\r\n                existeUnidadCoincidente = true;\r\n                break; \r\n            }\r\n        }\r\n        \r\n        return existeUnidadCoincidente;\r\n    }\r\n\r\n    \/\/ === C\u00d3DIGO PARA A\u00d1ADIR EL AVISO LEGAL ===\r\n    function agregarAvisoDePrecios() {\r\n        const texto = \"Todos los precios est\u00e1n sujetos a cambios sin previo aviso. Los precios marcados con * se expresan en USD; la equivalencia en MXN se proporciona solo como referencia.\";\r\n        const contenedor = document.querySelector('.sidebar-cards');\r\n        if (!contenedor) return;\r\n        const parrafo = document.createElement('p');\r\n        parrafo.textContent = texto;\r\n        Object.assign(parrafo.style, {\r\n            textAlign: 'center', fontSize: '12px', fontStyle: 'italic',\r\n            color: '#666', padding: '20px'\r\n        });\r\n        contenedor.appendChild(parrafo);\r\n    }\r\n\r\n    document.addEventListener('DOMContentLoaded', agregarAvisoDePrecios);\r\n<\/script>\r\n\r\n\r\n<script async src=\"https:\/\/maps.googleapis.com\/maps\/api\/js?key=AIzaSyAEmPp4ZzpQSZTWoWTJFfuzB79-SY5vFwg&callback=initMap&libraries=marker\"><\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Todas las ciudadesBucer\u00edasLa Cruz de HuanacaxtleLa Pe\u00f1ita de JaltembaMezcalesNuevo VallartaPuerto VallartaSan VicenteSayulitaTondoroqueValle Dorado Todos los tiposDepartamentosCasasEstudiosTerrenos PresupuestoMenos de $3 MDPEntre $3 y $5 MDPEntre $5 y $8 MDPM\u00e1s de $8 MDP Rec\u00e1marasEstudios1 rec\u00e1mara2 rec\u00e1maras3 rec\u00e1maras4+ rec\u00e1maras<\/p>","protected":false},"author":1,"featured_media":25445,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template\/template-homepage.php","meta":{"content-type":"","footnotes":""},"class_list":["post-25341","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Buscador - Preventas en Puerto Vallarta y Bah\u00eda de Banderas<\/title>\n<meta name=\"description\" content=\"Explora nuestro buscador de preventas: departamentos, casas y terrenos en ubicaciones privilegiadas.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/preventaspvr.com\/en\/buscador\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Buscador - Preventas en Puerto Vallarta y Bah\u00eda de Banderas\" \/>\n<meta property=\"og:description\" content=\"Explora nuestro buscador de preventas: departamentos, casas y terrenos en ubicaciones privilegiadas.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/preventaspvr.com\/en\/buscador\/\" \/>\n<meta property=\"og:site_name\" content=\"Preventas en Puerto Vallarta y Bah\u00eda de Banderas\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-17T21:37:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/preventaspvr.com\/wp-content\/uploads\/2025\/09\/ff.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"1024\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"22 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/preventaspvr.com\\\/buscador\\\/\",\"url\":\"https:\\\/\\\/preventaspvr.com\\\/buscador\\\/\",\"name\":\"Buscador - Preventas en Puerto Vallarta y Bah\u00eda de Banderas\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/preventaspvr.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/preventaspvr.com\\\/buscador\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/preventaspvr.com\\\/buscador\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/preventaspvr.com\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/ff.png\",\"datePublished\":\"2025-09-27T21:12:53+00:00\",\"dateModified\":\"2026-04-17T21:37:17+00:00\",\"description\":\"Explora nuestro buscador de preventas: departamentos, casas y terrenos en ubicaciones privilegiadas.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/preventaspvr.com\\\/buscador\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/preventaspvr.com\\\/buscador\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/preventaspvr.com\\\/buscador\\\/#primaryimage\",\"url\":\"https:\\\/\\\/preventaspvr.com\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/ff.png\",\"contentUrl\":\"https:\\\/\\\/preventaspvr.com\\\/wp-content\\\/uploads\\\/2025\\\/09\\\/ff.png\",\"width\":1024,\"height\":1024,\"caption\":\"Buscador de preventas en Bah\u00eda de Banderas y Puerto Vallarta, encuentra las mejores oportunidades.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/preventaspvr.com\\\/buscador\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Inicio\",\"item\":\"https:\\\/\\\/preventaspvr.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Buscador\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/preventaspvr.com\\\/#website\",\"url\":\"https:\\\/\\\/preventaspvr.com\\\/\",\"name\":\"Preventas Puerto Vallarta & Bah\u00eda de Banderas\",\"description\":\"Encuentra las mejores preventas!\",\"publisher\":{\"@id\":\"https:\\\/\\\/preventaspvr.com\\\/#\\\/schema\\\/person\\\/39c8c95bcaae5557116478fd0367a0b8\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/preventaspvr.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/preventaspvr.com\\\/#\\\/schema\\\/person\\\/39c8c95bcaae5557116478fd0367a0b8\",\"name\":\"oscar-glez-p_outlook-com\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/95794c127918234f2ef51b7c2ca83795a81f0b7040281acbf6ce051796412a02?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/95794c127918234f2ef51b7c2ca83795a81f0b7040281acbf6ce051796412a02?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/95794c127918234f2ef51b7c2ca83795a81f0b7040281acbf6ce051796412a02?s=96&d=mm&r=g\",\"caption\":\"oscar-glez-p_outlook-com\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/95794c127918234f2ef51b7c2ca83795a81f0b7040281acbf6ce051796412a02?s=96&d=mm&r=g\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Buscador - Preventas en Puerto Vallarta y Bah\u00eda de Banderas","description":"Explora nuestro buscador de preventas: departamentos, casas y terrenos en ubicaciones privilegiadas.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/preventaspvr.com\/en\/buscador\/","og_locale":"en_US","og_type":"article","og_title":"Buscador - Preventas en Puerto Vallarta y Bah\u00eda de Banderas","og_description":"Explora nuestro buscador de preventas: departamentos, casas y terrenos en ubicaciones privilegiadas.","og_url":"https:\/\/preventaspvr.com\/en\/buscador\/","og_site_name":"Preventas en Puerto Vallarta y Bah\u00eda de Banderas","article_modified_time":"2026-04-17T21:37:17+00:00","og_image":[{"width":1024,"height":1024,"url":"https:\/\/preventaspvr.com\/wp-content\/uploads\/2025\/09\/ff.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"22 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/preventaspvr.com\/buscador\/","url":"https:\/\/preventaspvr.com\/buscador\/","name":"Buscador - Preventas en Puerto Vallarta y Bah\u00eda de Banderas","isPartOf":{"@id":"https:\/\/preventaspvr.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/preventaspvr.com\/buscador\/#primaryimage"},"image":{"@id":"https:\/\/preventaspvr.com\/buscador\/#primaryimage"},"thumbnailUrl":"https:\/\/preventaspvr.com\/wp-content\/uploads\/2025\/09\/ff.png","datePublished":"2025-09-27T21:12:53+00:00","dateModified":"2026-04-17T21:37:17+00:00","description":"Explora nuestro buscador de preventas: departamentos, casas y terrenos en ubicaciones privilegiadas.","breadcrumb":{"@id":"https:\/\/preventaspvr.com\/buscador\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/preventaspvr.com\/buscador\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/preventaspvr.com\/buscador\/#primaryimage","url":"https:\/\/preventaspvr.com\/wp-content\/uploads\/2025\/09\/ff.png","contentUrl":"https:\/\/preventaspvr.com\/wp-content\/uploads\/2025\/09\/ff.png","width":1024,"height":1024,"caption":"Buscador de preventas en Bah\u00eda de Banderas y Puerto Vallarta, encuentra las mejores oportunidades."},{"@type":"BreadcrumbList","@id":"https:\/\/preventaspvr.com\/buscador\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Inicio","item":"https:\/\/preventaspvr.com\/"},{"@type":"ListItem","position":2,"name":"Buscador"}]},{"@type":"WebSite","@id":"https:\/\/preventaspvr.com\/#website","url":"https:\/\/preventaspvr.com\/","name":"Preventas Puerto Vallarta & Bah\u00eda de Banderas","description":"Encuentra las mejores preventas!","publisher":{"@id":"https:\/\/preventaspvr.com\/#\/schema\/person\/39c8c95bcaae5557116478fd0367a0b8"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/preventaspvr.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/preventaspvr.com\/#\/schema\/person\/39c8c95bcaae5557116478fd0367a0b8","name":"oscar-glez-p_outlook-com","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/95794c127918234f2ef51b7c2ca83795a81f0b7040281acbf6ce051796412a02?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/95794c127918234f2ef51b7c2ca83795a81f0b7040281acbf6ce051796412a02?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/95794c127918234f2ef51b7c2ca83795a81f0b7040281acbf6ce051796412a02?s=96&d=mm&r=g","caption":"oscar-glez-p_outlook-com"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/95794c127918234f2ef51b7c2ca83795a81f0b7040281acbf6ce051796412a02?s=96&d=mm&r=g"}}]}},"_links":{"self":[{"href":"https:\/\/preventaspvr.com\/en\/wp-json\/wp\/v2\/pages\/25341","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/preventaspvr.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/preventaspvr.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/preventaspvr.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/preventaspvr.com\/en\/wp-json\/wp\/v2\/comments?post=25341"}],"version-history":[{"count":145,"href":"https:\/\/preventaspvr.com\/en\/wp-json\/wp\/v2\/pages\/25341\/revisions"}],"predecessor-version":[{"id":25913,"href":"https:\/\/preventaspvr.com\/en\/wp-json\/wp\/v2\/pages\/25341\/revisions\/25913"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/preventaspvr.com\/en\/wp-json\/wp\/v2\/media\/25445"}],"wp:attachment":[{"href":"https:\/\/preventaspvr.com\/en\/wp-json\/wp\/v2\/media?parent=25341"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}