Google放置了未在service.textSearch(request,callback);

时间:2018-10-09 00:30:41

标签: javascript google-maps google-places-api

我是google map的api的新用户,发现自己无法运行回调函数。我将服务和映射定义为全局变量,因此这就是我访问它们的方式。我尝试了所有我能想到的变体,但现在已经困扰了几个小时。我试图按照文档进行操作,但是代码仍然永远不会执行回调函数。

/* 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 :(得分:0)

当您一次具有多个Google API链接时,可能会发生此错误。 例如

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

这会导致回调函数无法正常工作。