Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Google AutocompleteService getPlacePredictions不工作_Javascript_Html_Google Maps_Google Places Api_Googleplacesautocomplete - Fatal编程技术网

Javascript Google AutocompleteService getPlacePredictions不工作

Javascript Google AutocompleteService getPlacePredictions不工作,javascript,html,google-maps,google-places-api,googleplacesautocomplete,Javascript,Html,Google Maps,Google Places Api,Googleplacesautocomplete,我正在尝试在我的站点中启动自定义的自动完成。我尝试使用谷歌的PlacesAutoCompleteAPI来实现这一点。 我希望首先将预测结果输出到日志中,以验证它是否正常工作,但它似乎没有到达回调函数,我也没有收到任何错误消息。没有 我首先添加了Google places库: <script src="https://maps.googleapis.com/maps/api/js?key=[Here-I-Entered-My-API-Key]&libraries=places">

我正在尝试在我的站点中启动自定义的自动完成。我尝试使用谷歌的PlacesAutoCompleteAPI来实现这一点。 我希望首先将预测结果输出到日志中,以验证它是否正常工作,但它似乎没有到达回调函数,我也没有收到任何错误消息。没有

我首先添加了Google places库:

<script src="https://maps.googleapis.com/maps/api/js?key=[Here-I-Entered-My-API-Key]&libraries=places"></script>
这样做没有任何结果,它没有显示自动完成选项

  • 在我的第二次尝试中,我尝试使用AutocompleteService来实现我最初想要的预测,并将其打印在控制台日志中。我输入了以下代码:

    let searchInput = $( ".search-input" )[0];
    autocomplete = new google.maps.places.Autocomplete(searchInput, {
            types: ["address"]
        });
    
    // Create a new session token.
    let sessionToken = new google.maps.places.AutocompleteSessionToken();
    
    // Pass the token to the autocomplete service.
    let autocompleteService = new google.maps.places.AutocompleteService();
    autocompleteService.getPlacePredictions(
            {
                    input: "Mitt",
                    type: ["address"],
                    componentRestriction: {country: 'de'},
                    sessionToken: sessionToken
            },
            function (predictions, status) {
                    console.log("Query resulted in -> " + status);
                    console.log("Received " + predictions.length + " predictions");
                    for(let prediction of predictions){
                        console.log(prediction);
                        console.log(prediction.description);
                    }
            }
    );
    
  • 只是为了验证它是否向我显示了一个结果,但它似乎没有到达我的回调函数

    我试着从网上看到的其他用法中复制一些例子,但也不起作用。我不明白发生了什么事。 我的API密钥是功能性的,我已经在GCP中启用了我的Places库(尽管我没有看到在GCP使用中尝试实现这一点的用法)。 我没有任何错误可以用来理解问题可能是什么,只是不起作用

    我试着用我的API键使用places REST API,它起了作用,但我不想弄乱跨源请求,我认为在这种特殊情况下不应该这样做

    我非常感谢您的帮助。
    谢谢

    我已经设法解决了这个问题。 显然,导致这个问题的原因是一次调用GoogleAPI库和一次调用GoogleAPI进行映射回调。 需要将其组合在一起,如下所示:

    <script src="https://maps.googleapis.com/maps/api/js?key=[Here-I-Entered-My-API-Key]&libraries=places&callback=initMap"></script>
    

    您应该提交一份支持案例。