Forums Forums Search & Filter Pro Google map API integration

Tagged: 

Viewing 10 posts - 1 through 10 (of 11 total)
  • Anonymous
    #137012

    I’m making a google map with markers (each marker has coordinates pulling from posts with ACF fields). I need the ability to filter out the markers on search as well. Has one done this or know a hook I can use?

    Thanks

    Trevor
    #137066

    There are two possible uses of a map.

    One is where you do a geo location search (e.g. find properties within 20km of location xxx). The other is where you show locations on a map, but search for some other than geo location.

    As of yet, we do not support geo location. But it IS possible to show either static or interactive Google Maps based on data held in posts (but not filter that location data).

    Anonymous
    #137079

    “The other is where you show locations on a map, but search for some other than geo location.”

    Yes, the search criteria are not geo. For instance, the map will show locations of every post made by one author. I’m using the pro version of the plugin. Is there a callback, hook or something like that I could use to ajax refresh the map along with the new results?

    Thanks

    Trevor
    #137081

    This is something that I have looked at before. The questions is, how to refresh the map. Most map plugins do not have the means to do this, and to make a hook for each plugin is not practical.

    How I solved it was that I have a developer license for https://www.wpgmaps.com/

    In the future, they are extending how they support posts and pages, but it is at the early stage right now.

    What you need is your post (as you have), with a custom field for the map ID. For each post, you need to make a map. You have lost of details that you can add here, but, sadly, this is not (yet) linked to what might be the same detail in a post). To be able to click from the map to the post, you have to add the full URL.

    Additionally, you need a base map, on to which the results page would add the markers for all the results posts.

    Then you add a ‘mashup’ shortcode (or PHP do_shortcode() function) to the page. In the middle of this you need a comma separated list of map ID’s for the results posts. For this you will need to fetch the list of ID’s. If you want to do this, I am willing to work with you to show you (and other users how). I would prefer to use our shortcode method to make this.

    Anonymous
    #137280

    Hi, I’m not using a plugin for the map. That’d complicate things no? I intend to do it in Javascript and manipulate the marker array directly on the page similar to this. https://codepen.io/mikejandreau/pen/qXwYGZ
    What do you think? Does it seem feasible with the code base?

    Thanks

    Trevor
    #137334

    It should be possible, but that is beyond what I would wish to do.

    Anonymous
    #139694

    Hi Trevor,

    Thanks to your amazing help, I was able to also make something like this work with that maps plugin you mention above.

    Here’s the maps code I placed on the results.php page in my child theme (the ACF field for the map ID is called “hotel_map_id”):

    <?php
    $map_sc_text='[wpgmza id=”5″ mashup=true mashup_ids=”‘;

    while ($query->have_posts())
    {
    $query->the_post();

    ?>
    <div>
    <h2>“><?php the_title(); ?></h2>

    <p><br /><?php the_excerpt(); ?> </p>
    <?php
    if ( has_post_thumbnail() ) {
    echo ‘<p>’;
    the_post_thumbnail(“small”);
    echo ‘</p>’;
    }
    ?>
    <p><?php the_category(); ?></p>
    <p><?php the_tags(); ?></p>

    </div>

    <hr />
    <?php

    $map_sc_text.=get_field(‘hotel_map_id’).’,’;
    }

    $map_sc_text.='” parent_id=”5″]’;
    do_shortcode($map_sc_text);

    ?>

    However, even though the functionality is perfect, I now get this error (only on the search and results page, not the whole site):

    Warning: Invalid argument supplied for foreach() in /wp-content/plugins/wp-google-maps-pro/wp-google-maps-pro.php on line 3570.

    Did you by any chance come across this issue when you were doing this? If so, how did you fix it?

    Thank you so so much!

    Maria

    Trevor
    #139818

    Hi

    Your code isn’t inside back ticks (code ticks) so it is hard to read, so I have recoded it here, and towards the end added a line to remove the final comma that the code adds (it adds the ID plus a comma each time, but the last comma is not needed):

    <?php
    $map_sc_text='[wpgmza id="5" mashup=true mashup_ids="';
    
    while ($query->have_posts())
    {
    $query->the_post();
    
    ?>
    <div>
    <h2><?php the_title(); ?></h2>
    
    <p><br /><?php the_excerpt(); ?> </p>
    <?php
    if ( has_post_thumbnail() ) {
    echo '<p>';
    the_post_thumbnail("small");
    echo '</p>';
    }
    ?>
    <p><?php the_category(); ?></p>
    <p><?php the_tags(); ?></p>
    
    </div>
    
    <hr />
    <?php
    
    $map_sc_text.=get_field('hotel_map_id').',';
    }
    $map_sc_text=substr($map_sc_text,0,-1);
    $map_sc_text.='" parent_id="5"]';
    do_shortcode($map_sc_text);
    
    ?>

    Does that work?

    Trevor
    #139820

    Even then I had to edit it twice more to get the quote types correct 🙁

    Anonymous
    #139837

    Hi Trevor,

    You truly are amazing. That worked perfectly! Thank you SO SO SO much for all your help!

Viewing 10 posts - 1 through 10 (of 11 total)