Получение широты и долготы из поисковой системы Google Places с помощью Javascript

Как получить долготу и широту из искомого местоположения с помощью окна поиска google maps place api.

Im, используя тот же код, что и демо Google - https://developers.google.com/maps/documentation/javascript/examples/places-searchbox

Ответ 1

function GetLatlong()
    {
        var geocoder = new google.maps.Geocoder();
        var address = document.getElementById('textboxid').value;

        geocoder.geocode({ 'address': address }, function (results, status) {

            if (status == google.maps.GeocoderStatus.OK) {
                var latitude = results[0].geometry.location.lat();
                var longitude = results[0].geometry.location.lng();

            }
        });

Вы можете использовать указанную выше функцию, которая даст вам широту и долготу для области, введенной пользователем.

Ответ 2

Код в предоставляемой ссылке показывает функцию, которая будет выполняться при вводе поиска. Во-первых, он создает пустой массив маркеров (контакты, которые вы видите на карте, как только вы выполняете поиск).

Итак, проверьте функцию, начиная с:

google.maps.event.addListener(searchBox, 'places_changed', function() {

Далее вы увидите, что маркер был создан (даже комментарий):

// Create a marker for each place.
var marker = new google.maps.Marker({
    map: map,
    icon: image,
    title: place.name,
    position: place.geometry.location
});

Итак, на place.geometry.location у вас есть объект Google Maps Location. Вы можете использовать place.geometry.location.lat() и place.geometry.location.lng().

Также проверьте здесь: fooobar.com/questions/448226/...

Ответ 3

Из документов:

                // Autocomplete Options
                var defaultBounds = new google.maps.LatLngBounds();
                var options = {
                types: ['(cities)'],
                bounds: defaultBounds
                };

                // get DOM input element
                var input = document.getElementById('location_address');

                // Make Autocomplete instance
                var autocomplete = new google.maps.places.Autocomplete(input, options);

                // Listener for whenever input value changes            
                autocomplete.addListener('place_changed', function() {

                    // Get place info
                    var place = autocomplete.getPlace();

                    // Do whatever with the value!
                    console.log(place.geometry.location.lat());
                });

Ответ 5

navigator.geolocation.getCurrentPosition(success => {

  console.log(success) // 'have the lat and long'

}, failure =>{

//'enter code here if failed'

});