13 października 2021 r. wyłączymy usługę, która udostępnia moduł „Mapy” w przypadku google.load.
Oznacza to, że po 13 października 2021 r., jeśli spróbujesz użyć modułu „Mapy” w google.load, pojawi się błąd (moduł „maps” nie jest obsługiwany) i nie wczyta się żadna mapa. Aby uniknąć potencjalnych problemów, musisz przejść na jedną z alternatywnych opcji.
Co muszę zrobić?
Najpierw usuń tag <script>, który wczytuje moduł wczytujący google.load, a potem usuń wywołania google.load. Jeśli używasz Google Loader do innych celów, możesz pozostawić tag <script>.
Następnie wdróż nowy sposób wczytywania interfejsu Maps JavaScript API (wybierz jedną z tych opcji):
Obecny przykład z użyciem narzędzia Google Loader
W przykładzie poniżej pokazujemy, jak obecnie używany jest Google Loader do wczytywania interfejsu Maps JavaScript API (są 2 bloki <script>):
Przed
<script type='text/javascript' src='https://www.google.com/jsapi'></script>
<script type='text/javascript'>
google.load("maps", "3.exp", {
"callback": initMap,
"key": "YOUR_KEY",
"libraries": "places,visualization"
});
function initMap() {
// Google Maps JS API is loaded and available
}
</script>
Wczytywanie w tekście za pomocą tagu <script> (zalecane)
W tym przypadku interfejs Maps JavaScript API wczytuje się w tym samym czasie co strona. Aby wdrożyć wczytywanie w tekście, najpierw zastąp tag
<script>, który wczytuje www.google.com/jsapi („before”), tagiem
<script> pokazanym w tym przykładzie:
<script async src="https://maps.googleapis.com/maps/api/js?libraries=places,visualization&key=YOUR_API_KEY&v=weekly&callback=initMap">
</script>
Następnie w kodzie JavaScript usuń wywołanie funkcji google.load, ponieważ nie jest już potrzebne. Przykład poniżej pokazuje pustą funkcję initMap()
wywoływaną po prawidłowym wczytaniu biblioteki Map Google:
<script type='text/javascript'>
function initMap() {
// Google Maps JS API is loaded and available
}
</script>
Dynamiczne wczytywanie z innego pliku JavaScript
Dynamiczne wczytywanie umożliwia kontrolowanie, kiedy interfejs Maps JavaScript API jest wczytywany. Możesz na przykład poczekać z wczytaniem interfejsu Maps JavaScript API, aż użytkownik kliknie przycisk lub wykona inną czynność. Aby zaimplementować dynamiczne wczytywanie, najpierw zastąp tag <script>, który wczytuje www.google.com/jsapi („przed”), kodem umożliwiającym programowe dodawanie tagu <script>, jak pokazano w tym przykładzie:
var script = document.createElement('script');
script.src =
'https://maps.googleapis.com/maps/api/js?libraries=places,visualization&key=YOUR_API_KEY&v=weekly&callback=initMap';
script.async=true;
Następnie dołącz funkcję wywołania zwrotnego do obiektu okna w ten sposób:
window.initMap = function() {
// Google Maps JS API is loaded and available
};
Na koniec dodaj tag <script> do nagłówka strony w ten sposób:
document.head.appendChild(script);