latitud, longitud пустой указатель подставляют Геокодер карт Google

estoy haciendo que cuando ingrese la direccion я muestre la latitud y longitud pero я пустой указатель продаж o vacio, СИ носа я falta алгоритм esto lo que llevo:

function initMap(){
 var map = new google.maps.Map(document.getElementById('map'), {
   center: centerMap,
   scrollwheel: false,
   zoom: zoom
 });

 var geocoder = new google.maps.Geocoder();
 $('#recoger').keyup(busquedaGoogle(geocoder));
}

function busquedaGoogle (geocoder) {
  return function (event) {
    var direccion = $(this).val();
    console.log(direccion);
    geocoder.geocode({'address': direccion}, function (results, status) {
        if (status === google.maps.GeocoderStatus.OK){
            console.log(results[0].geometry.location);
        }
        else{
            console.log('Geocode was not successful for the following reason: ' + status);
        }
    });
  }
}

resultado de la consola:

introducir la descripción de la imagen aquí

1
задан 23.03.2017, 22:50
1 ответ

Твой c¦digo estÃ: не удаваясь из-за другого raz¦n. Я предполагаю, что он из-за ошибки google ads, который мешает тому, чтобы другая часть c¦digo выполнила общее количество или частично.

Я Сделал snippet с твоим c¦digo (приспособленный для ocasi¦n), что sà - функционирует.

Однако , проблема, что estÃ: s пробуя решать уже estÃ: решенный. Google поставляет widget, чтобы автозавершать адреса, и éste реагируй на событие place_changed для того, чтобы ты знал, когда пользователь eligià direcci¦n.

Из способа, поскольку ты считаешь это сделанным сейчас, хотя оно функционирует, ты будешь сталкиваться со многими ошибками из-за того, что превзойдешь квоту requests, видный, что ты делаешь один из-за каждой клавиши.

оставил Тебе пример с твоим autocompletador и autocompletador google.

var centerMap={lat:0,lng:-77  },
    zoom=7;
    
function initMap(){
 var map = new google.maps.Map(document.getElementById('map'), {
   center: centerMap,
   scrollwheel: false,
   zoom: zoom
 });

 var geocoder = new google.maps.Geocoder();
 $('#recoger').keyup(busquedaGoogle(geocoder));
 
  var autocomplete = new google.maps.places.Autocomplete($('#autocompletar')[0]);
  
  google.maps.event.addListener(autocomplete,'place_changed',function() {
      var place=autocomplete.getPlace();
      console.log(place.geometry);
  });
}

function busquedaGoogle (geocoder) {
  return function (event) {
    var direccion = $(this).val();
    console.log(direccion);
    geocoder.geocode({'address': direccion}, function (results, status) {
        if (status === google.maps.GeocoderStatus.OK){
            console.log(results[0].geometry.location);
        }
        else{
            console.log('Geocode was not successful for the following reason: ' + status);
        }
    });
  }
}


jQuery(document).ready(function() {

  initMap();

});
#map {
width:100%;
height:90vh;
}
input {
width:40%;
margin:10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maps.googleapis.com/maps/api/js?libraries=places&ext=.js"></script>

<input type="text" id="recoger" placeholder="input normal"/>
<input type="text" id="autocompletar" placeholder="autocomplete" />
<div id="map"></div>
2
ответ дан 24.11.2019, 10:25