arjuncc
arjuncc

Reputation: 3287

init gmap3 using geocode

I am new to gmap3, is it possible to init the gmap3 using a place address? I know generally it is done with latitude and longitude. I have done markers with this this location name using this example. I have already gone through this example too, but no luck. And also i need to zoom the places on selection, i use auto complete for this purpose.

My code is given below

 $('#test').gmap3(
     { action:'init',
         options:{
             address: "kerala,india"
         }
     }

 );

Upvotes: 2

Views: 4628

Answers (4)

wesamly
wesamly

Reputation: 1584

You can use the following code as well:

var markerData = [];
markerData.push({ address: 'kerala,india', data: '' });
$('#test').gmap3({
   action: 'addMarkers',
   markers: markerData
   }
);

Upvotes: 0

Surinder
Surinder

Reputation: 106

var add="kerala,india";
var geocoder = new google.maps.Geocoder();

geocoder.geocode({ address: add, region: 'no' },
function (results, status) {
 if (status.toLowerCase() == 'ok') {
    // Get center
    var coords = new google.maps.LatLng(
        results[0]['geometry']['location'].lat(),
        results[0]['geometry']['location'].lng()
    );
    //alert(coords);
    $map.gmap3("get").setCenter(coords);
    $map.gmap3("get").setZoom(12);
    addMarker(coords);
 }
 else {
    alert("address not found");
 }
}    

function addMarker(marker) {
    $map = $('#googleMap');
    if (marker) {
        $map.gmap3(
            { action: 'init',
                options: {
                    center: eval(marker),
                    zoom: 12,
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                }
            },
            { action: 'addMarker',
                latLng: eval(marker),
                options: {
                    draggable: true,
                    icon: new google.maps.MarkerImage('http://maps.google.com/mapfiles/marker.png')
                },
                events: {
                    dragend: function (mark) {
                        updateMarker(mark);
                    }
                }
            });
    }
}

Using above code you can get latitude/longitude also and drag searched location marker.

Upvotes: 2

jbdemonte
jbdemonte

Reputation: 705

This feature will be in next version (5.0), current is not updated,

here is a working code :

  $('#test1').gmap3({ 
    action : 'getLatLng',
    address:'kerala,india',
      callback : function(result){
        if (result){
          $(this).gmap3({
            action: "init",
            options:{
                center: result[0].geometry.location,
                zoom: 12
            } 
        });
      } else {
        alert('not found !');
      }
    }
});

notice, if your map is already initialized, you can use in the callback

    $(this).gmap3("get").setCenter(result[0].geometry.location);
    $(this).gmap3("get").setZoom(12);

Upvotes: 1

Dr.Molle
Dr.Molle

Reputation: 117324

First use getLatLng() to retrieve the location, when successfull set the center:

   $('#test1').gmap3(
    { action : 'getLatLng',
      address:'kerala,india',
      callback : function(result){
        if (result){
          $(this).gmap3({action: 'setCenter', args:[ result[0].geometry.location ]},
                        {action: 'setZoom', args:[ 12]});
      } else {
      alert('not found !');
      }}});

Upvotes: 4

Related Questions