Ошибка Google place API: «Google» не определен в Edge & Firefox - PullRequest
0 голосов
/ 31 января 2019

Таким образом, есть два ввода, и когда вы начнете вводить адрес, он выдаст вам список результатов.Он работает на Chrome, но по какой-то причине я не могу понять, почему он дает эту ошибку в Edge:

enter image description here

Версия Edge:Microsoft Edge 42.17134.1.0

Версия Firefox: версия 65.0 (64-разрядная версия)

Здесь находится jsfiddle

  <html lang="en">

    <head>
      <meta charset="UTF-8" />
      <meta name="viewport" content="width=device-width, initial-scale=1.0" />
      <meta http-equiv="X-UA-Compatible" content="ie=edge" />
      <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css" integrity="sha384-GJzZqFGwb1QTTN6wy59ffF1BuGJpLSa9DkKMp0DgiMDm4iYMj70gZWKYbI706tWS"
        crossorigin="anonymous" />

      <script src="https://code.jquery.com/jquery-3.3.1.js" integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60="
        crossorigin="anonymous"></script>
      <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js" integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut"
        crossorigin="anonymous"></script>
      <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.2.1/js/bootstrap.min.js" integrity="sha384-B0UglyR+jN6CkvvICOB2joaf5I4l3gm9GU6Hc1og6Ls7i6U/mkkaduKaBhlAXv9k"
        crossorigin="anonymous"></script>
    </head>

    <body>
      <form id="distance_form">
        <div class="form-group"><label>Origin: </label> <input class="form-control" id="from_places" placeholder="Enter a location" />
          <input id="origin" name="origin" required="" type="hidden" />
        </div>

        <div class="form-group"><label>Destination: </label> <input class="form-control" id="to_places" placeholder="Enter a location" />
          <input id="destination" name="destination" required="" type="hidden" />
        </div>

      </form>
      <script>
      $(function () {
          // add input listeners
          google.maps.event.addDomListener(window, "load", function () {
            var from_places = new google.maps.places.Autocomplete(
              document.getElementById("from_places")
            );
            var to_places = new google.maps.places.Autocomplete(
              document.getElementById("to_places")
            );
          });
        });
      </script>
      


      <script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCteSKX5TJVTK5GAdDktqmE2ebuDSPTU-4&libraries=places&language=en"></script>
    </body>

    </html>

1 Ответ

0 голосов
/ 01 февраля 2019

Попробуйте изменить код следующим образом:

Когда API Карт Google будет готов, он вызовет указанную функцию (функцию initMap) с помощью параметра обратного вызова.

<script>
    function initMap() {
        // add input listeners
        var from_places = new google.maps.places.Autocomplete(
            document.getElementById("from_places")
        );
        var to_places = new google.maps.places.Autocomplete(
            document.getElementById("to_places")
        );
    }
</script>
<script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCteSKX5TJVTK5GAdDktqmE2ebuDSPTU-4&libraries=places&language=en&callback=initMap"></script>

Вывод, как показано ниже (с использованием Edge browser 42.17134.1.0 version):

enter image description here

Подробнее об использовании API Карт Google вы можете проверить в этом руководстве и Автозаполнение Google Maps API API .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...