Google Places get LatLng
place.geometry.location
is a LatLng
, so you can call its .lat()
and .lng()
methods.
var location = place.geometry.location;
var lat = location.lat();
var lng = location.lng();
You'll see that these methods are present in your inspection of this object.
Never use undocumented properties such as the ib
and jb
you discovered. Google compiles the Maps API using the Closure Compiler or a similar tool, which generates random names for private properties and variables.
Harsha M V
I turn ideas into companies. Specifically, I like to solve big problems that can positively impact millions of people through software. I am currently focusing all of my time on my company, Skreem, where we are disrupting the ways marketers can leverage micro-influencers to tell the Brand’s stories to their audience. People do not buy goods and services. They buy relations, stories, and magic. Introducing technology with the power of human voice to maximize your brand communication. Follow me on Twitter: @harshamv You can contact me at -- harsha [at] skreem [dot] io
Updated on June 22, 2020Comments
-
Harsha M V almost 4 years
I am using the Autocomplete method to get Place Suggestions and when I click the Place I want to choose, I want to extract the
Lat
andLng
which is placed underplace.geometry.location
as below.As per my observation, the keys
ib
andjb
keep changing with every session. Is there any way I can extract theLat
andLng
predictably?$(document).ready(function() { var mapOptions = { center : new google.maps.LatLng(-33.8688, 151.2195), zoom : 13, mapTypeId : google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById('map'), mapOptions); $('#searchTextField').bind('keydown keypress', function() { setTimeout(function() { var inputQuery = $('#searchTextField').val(); if (inputQuery.length >= 2) { //console.log(inputQuery); /* var service = new google.maps.places.AutocompleteService(); service.getPlacePredictions({ input : inputQuery }, callback); */ var input = document.getElementById('searchTextField'); var options = { types : ['geocode'] }; var autocomplete = new google.maps.places.Autocomplete(input, options); // Acting on Selecting a place google.maps.event.addListener(autocomplete, 'place_changed', function() { //infowindow.close(); var place = autocomplete.getPlace(); console.log(place); console.log(place.formatted_address); console.log(place.name); console.log(place.geometry.location); console.log(place.geometry.location[0]); // Show the map to the current location selected if (place.geometry.viewport) { map.fitBounds(place.geometry.viewport); } else { map.setCenter(place.geometry.location); map.setZoom(17); // Why 17? Because it looks good. } var marker = new google.maps.Marker({ position : place.geometry.location, map : map, draggable : true, }); $.each(place.geometry.location, function(key, value) { console.log(key + ": " + value); }); }); } }, 0); }); });
-
moein rahimi over 6 yearsi'm using places webservice api, how to get lat long from responses ?
-
M.suleman Khan over 5 yearswhat is the place variable here i am getting an error.