Search code examples
google-mapsdrupaldrupal-7drupal-gmap

Add user location marker to existing gmap


I am using Drupal 7 - Location, GMap module. I have a view that renders the result in a gmap. Everything works fine here and I get all the markers. Now I need a Find My location button which shows the users current location and adds a marker to the existing map. Google Map Api V3 always works on a newly created map and I couldn't find a function which returns an existing map in the current page.

Gmap module provides a JS function - Drupal.gmap.getMap('ur-map-id') which is supposed to return a pointer to the map whose id is given. But this did not work.

Could someone please guide me as to how I should go about this? Can I get it work with Google Maps API? I need to retain the original map with all its markers.


Solution

  • I am having this issue as well, you can put this jquery code in for it to actually centre around your current location - but no marker is added. Just add it anywhere in your theme,

    jQuery(document).ready(function() {
    
    jQuery(function($) {
    $.extend({
    initialize: function () {
    var m = Drupal.gmap.getMap('auto1map');
    if (m.map && m.markersready) {
    $.setCoords();
    }
    else {
    m.bind('markersready', function(data) {
    $.setCoords();
    });
    }
    },
    setCoords: function () {
    navigator.geolocation.getCurrentPosition(function (position) {
    var gmap = Drupal.gmap.getMap('auto1map').map;
    var lat = position.coords.latitude;
    var lng = position.coords.longitude;
    gmap.setCenter(new google.maps.LatLng(lat, lng));
    gmap.setZoom(13);
    });
    }
    });
    $.initialize();
    });
    
    });
    

    Now you can centre your map around your location and now I need to figure out a way to place a marker down at this location.