Skip to content

Dynamic (or Ajax) map refresh

MrRuru edited this page May 11, 2011 · 13 revisions

Gmaps4rails allows you to update your map on the fly.

Check here the valid json format you should provide: https://github.com/apneadiving/Google-Maps-for-Rails/wiki/Control-what-I-display

First

You should at least initialize a map. The minimum you could do is <%= gmaps({}) %>

Callback

If you want to create a callback called once the map and items are created, include the following code in your view:

<script type="text/javascript" charset="utf-8">
function gmaps4rails_callback() {
   //whatever you want here
}
</script>

Markers

If you want to replace the current markers with your new ones:

 Gmaps4Rails.replace_markers(your_markers_json_array); //this is a JS function

If you want to add markers to those already displayed (it doesn't check duplicates):

 Gmaps4Rails.add_markers(your_markers_json_array);     //this is a JS function

Others

You can generate javascript to update your map the same way it's used to create it. Simply use the to_gmaps4rails method after your hash of variables to display as described here: https://github.com/apneadiving/Google-Maps-for-Rails/wiki/Methods

Notice that you can use all javascript functions written in gmaps4rails.js directly. I hope the file has enough comments to make everything clear.