Google помещает функцию обратного вызова, не выполняющуюся в service.textSearch (запрос, обратный вызов); - PullRequest
0 голосов
/ 09 октября 2018

Я новичок в API карты Google и обнаружил, что не могу запустить функцию обратного вызова.У меня есть сервис и карта, определенные как глобальные переменные, поэтому я и получаю к ним доступ.Я перепробовал все варианты, о которых только мог придумать, но сейчас был в тупике пару часов.Я пытался следовать документации, но код по-прежнему никогда не выполняет функцию обратного вызова.

/* var myLatLng = {lat: 44.977276, lng: -93.232266};
        map = new google.maps.Map(document.getElementById('map'), {
          center: myLatLng,
          zoom: 14
        });
*/
// service = new google.maps.places.PlacesService(map);
// Both in the html file
// <script src="https://maps.googleapis.com/maps/api/jskey=MyKeyIsInHere&libraries=places"></script>
// <script src="https://maps.googleapis.com/maps/api/jskey=MyKeyIsInHere&callback=initMap" async defer></script>

function callback(results,status) {
    console.log(results);
    console.log(status);
    if (results.status == google.maps.places.PlacesServiceStatus.OK) {
      for (var i = 0; i < results.length; i++) {
        var place = results[i];
        createMarker(results[i]);
      }
    }
}

$("#form").submit(function(e) {
    e.preventDefault(); // added **** for infor that was taken out
    var Key = "******";
    var form = $('#form :input');
    var curLoc = new google.maps.LatLng(***,***);
    var request;
    request = {
        location: curLoc,
        radius: parseInt(form[0].value),
        query: form[1].value,
        key: Key
    };
    service.textSearch(request,callback);
});

1 Ответ

0 голосов
/ 09 октября 2018

Эта ошибка может произойти, если у вас есть несколько ссылок API Google одновременно.Например,

<script src="https://maps.googleapis.com/maps/api/js?key=MyNum&callback=initMap&libraries=places" async defer></script>

Это приводит к неправильной работе функции обратного вызова.

...