Zespół Maps JavaScript API regularnie aktualizuje interfejs API, wprowadzając nowe funkcje, poprawki błędów i ulepszenia wydajności. Na tej stronie opisaliśmy wersje interfejsu API, które możesz używać w swoich aplikacjach.
Kanały wersji i numery wersji
W aplikacji możesz określić kanały wersji lub numery wersji:
- Kanał tygodniowy jest określany za pomocą parametru
v=weekly
.
Ten kanał jest aktualizowany raz w tygodniu i zawiera najnowsze informacje. - Kanał kwartalny jest określany za pomocą parametru
v=quarterly
.
Ten kanał jest aktualizowany raz na kwartał i jest najbardziej przewidywalny. - Kanał beta jest określony za pomocą
v=beta
.
Ten kanał jest oparty na kanaleweekly
i jest aktualizowany raz w tygodniu. Zawiera ono dodatkowe zmiany na potrzeby wczesnego testowania i opinii. - Kanał alfa jest określany za pomocą
v=alpha
.
Ten kanał jest oparty na kanalebeta
i jest aktualizowany raz w tygodniu. Obejmuje on eksperymenty dotyczące opinii klientów na temat prototypów. Służy ona tylko do celów programistycznych i nie powinna być używana w wersji produkcyjnej. - Numer wersji jest określony za pomocą
v=n.nn
.
Możesz wybraćv=3.58
,v=3.57
,v=3.56
lubv=3.55
.
Numery wersji są aktualizowane raz na kwartał (patrz Comiesięczne aktualizacje).
Jeśli nie określisz kanału ani wersji, domyślnie otrzymasz kanał tygodniowy. Jeśli migrujesz z planu premium i nie określisz wyraźnie kanału ani wersji, domyślnie otrzymasz kanał kwartalny. Jeśli podasz nieprawidłową wersję, otrzymasz kanał domyślny.
Wybór kanału tygodniowego
W przypadku większości aplikacji zalecamy korzystanie z kanału tygodniowego. To najnowsza wersja, która zawiera najnowsze poprawki błędów i ulepszenia wydajności. Kanał tygodniowy możesz określić, wczytując interfejs Maps JavaScript API za pomocą tego tagu skryptu:
<script>
(g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({
key: "YOUR_API_KEY",
v: "weekly",
});
</script>
Obecnie kanał tygodniowy ma wersję 3.58. Ta wersja jest aktualizowana co tydzień o nowe funkcje, poprawki błędów i ulepszenia działania.
W połowie listopada kanał tygodniowy zostanie zaktualizowany do wersji 3.59. W tym czasie nowa wersja może usunąć przestarzałe funkcje lub wprowadzić niekompatybilność wsteczną.
Wybieranie kanału kwartalnego
Niektóre aplikacje mogą korzystać z mniejszej liczby większych aktualizacji, ponieważ zapewnia to większą przewidywalność. W przypadku tych aplikacji należy korzystać z kanału kwartalnego. Stosuj to podejście, jeśli chcesz, aby poprawki błędów i ulepszenia wydajności były dostępne w oczekiwanym terminie (patrz comiesięczne aktualizacje). Kanał kwartalny możesz określić, wczytując interfejs Maps JavaScript API za pomocą tego tagu skryptu:
<script>
(g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({
key: "YOUR_API_KEY",
v: "quarterly",
});
</script>
Obecnie kanał kwartalny ma wersję 3.57. W tym kwartale ta wersja nie będzie otrzymywać nowych funkcji, poprawek błędów ani ulepszeń działania. Co jakiś czas możemy wprowadzać w tej wersji poprawki błędów związanych z zabezpieczeniami.
W połowie listopada kwartalny kanał zostanie zaktualizowany do wersji 3.58. Wtedy nowa wersja będzie zawierać nowe funkcje, usuwać wycofane funkcje lub wprowadzać niezgodności wsteczne w porównaniu z poprzednimi 3 miesiącami.
Wybieranie wersji beta
Korzystaj z kanału wersji beta, aby wypróbować nowe funkcje i zmiany w wersji beta. Funkcje w wersji beta są w pełni funkcjonalne, ale mogą mieć jeszcze nierozwiązane problemy (użyj śledzika problemów, aby zgłosić problemy i przekazać opinię). Kanały beta nie są objęte gwarancją jakości usług ani żadnymi zasadami wycofywania, a niektóre zmiany mogą nie być zgodne ze starszymi wersjami.
Ten kanał jest oparty na kanale weekly
i jest aktualizowany raz w tygodniu.
Kanał beta możesz określić, wczytując interfejs Maps JavaScript API za pomocą tego tagu skryptu:
<script>
(g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({
key: "YOUR_API_KEY",
v: "beta",
});
</script>
Wybieranie kanału alfa
Korzystając z kanału alfa, możesz wypróbować nowe eksperymentalne funkcje i zmiany. Aby zgłaszać problemy i przesyłać opinie, użyj śledzika problemów. Kanału alfa nie obejmuje żadna gwarancja jakości usług ani żadna zasada wycofywania, a niektóre zmiany mogą nie być zgodne wstecznie z wcześniejszymi wersjami. Służy ona tylko do celów programistycznych i nie powinna być używana w wersji produkcyjnej.
Ten kanał jest oparty na kanale beta
i jest aktualizowany raz w tygodniu.
Kanał alfa możesz określić, wczytując interfejs Maps JavaScript API za pomocą tego tagu skryptu:
<script>
(g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({
key: "YOUR_API_KEY",
v: "alpha",
});
</script>
Wybieranie numeru wersji
Określ wersję za pomocą numeru tylko wtedy, gdy regularnie testujesz i aktualizujesz aplikację. Dzieje się tak, ponieważ wersje numerowane są ostatecznie usuwane, gdy co kwartał tworzone są nowe wersje. Numer wersji możesz określić, wczytując interfejs Maps JavaScript API za pomocą tego tagu skryptu:
<script>
(g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({
key: "YOUR_API_KEY",
v: 3.57,
});
</script>
Obecnie możesz określić v=3.58
, v=3.57
, v=3.56
lub v=3.55
.
- Wersja 3.58 otrzymuje cotygodniowe aktualizacje z nowymi funkcjami, poprawkami błędów i ulepszeniami wydajności.
- Wersja 3.57 nie otrzymuje cotygodniowych aktualizacji.
- Wersja 3.56 nie otrzymuje cotygodniowych aktualizacji.
- Wersja 3.55 nie otrzymuje cotygodniowych aktualizacji.
- Możemy co jakiś czas wprowadzać poprawki błędów związanych z zabezpieczeniami do dowolnej wersji.
- Podczas tworzenia nowej wersji możemy wprowadzić zmiany, które nie będą zgodne z poprzednimi wersjami.
Po połowie listopada będzie można wybrać v=3.59
, v=3.58
, v=3.57
lub v=3.56
.
- Wersja 3.59 będzie co tydzień otrzymywać aktualizacje z nowymi funkcjami, poprawkami błędów i ulepszeniami wydajności.
- Wersja 3.58 nie będzie już otrzymywać cotygodniowych aktualizacji.
- Wersja 3.57 nie będzie już otrzymywać cotygodniowych aktualizacji.
- Wersja 3.56 nie będzie już otrzymywać cotygodniowych aktualizacji.
- Możemy co jakiś czas wprowadzać poprawki błędów związanych z zabezpieczeniami do dowolnej wersji.
- Wersja 3.55 nie będzie już dostępna. Wszelkie próby załadowania tej wersji zostaną zignorowane, a zamiast niej wyświetli się kanał domyślny.
Na diagramie poniżej widać, które wersje będą dostępne w poszczególnych kanałach w przyszłym roku.
Aktualizacja wpłynęła na moją aplikację
Gdy zaktualizujemy kanały wersji, może to wpłynąć na Twoją aplikację. Może to być spowodowane tym, że aplikacja korzysta z nieudokumentowanych lub wycofanych funkcji albo z powodu błędu lub wprowadzonej przez nas poprawki.
Jako tymczasowe rozwiązanie możesz skonfigurować aplikację tak, aby używała starszej wersji.
- Otwórz konsolę w narzędziach dla programistów w przeglądarce i sprawdź wartość zmiennej
google.maps.version
. - Zaktualizuj tag skryptu, który wczytuje interfejs API, i wyślij żądanie z numerem starszej wersji.
Jeśli na przykładgoogle.maps.version
to „3.58.2”, w tagu skryptu użyj wartościv=3.57
.
To tymczasowe obejście będzie działać tylko przez ograniczony czas.
Gdy wprowadzimy tymczasowe obejście, będziesz mieć czas (zazwyczaj 3–6 miesięcy), aby zaktualizować aplikację, aby nie używała już funkcji bez dokumentacji lub wycofanych funkcji, oraz aby naprawić błędy lub wprowadzić poprawki.
Następnie wróć do pierwotnego tagu skryptu, aby załadować interfejs API.
Możesz też utworzyć zgłoszenie lub zgłosić problem.
Kwartalne e-maile z aktualnościami
Raz na kwartał zespół Maps JavaScript API udostępnia nową wersję. Dotyczy to połowy lutego, maja, sierpnia i listopada. Następna aktualizacja zostanie przeprowadzona w połowie listopada. Nowy kanał tygodniowy będzie zawierać wersję 3.59. Wtedy też zostaną zaktualizowane inne kanały.
Cotygodniowe informacje o kanale
Kanał tygodniowy wskazuje obecnie wersję 3.58.
W połowie listopada kanał tygodniowy zostanie zaktualizowany z wersji 3.58 na 3.59. Nowa wersja będzie zawierać nowe funkcje, usuwać wycofane funkcje lub wprowadzać niekompatybilność wsteczną. Po zaktualizowaniu kanału może być konieczne przetestowanie tych zmian.
W ciągu kwartału nowa wersja będzie co tydzień aktualizowana o nowe funkcje, poprawki błędów i ulepszenia wydajności. Nie spowoduje usunięcia wycofanych funkcji ani nie wprowadzi niezgodności wstecznej.
Kwartalny raport o kanale
Czterech kanał wskazuje obecnie wersję 3.57.
W połowie listopada kwartalny kanał zostanie zaktualizowany z wersji 3.57 na 3.58. Po aktualizacji ta wersja będzie zawierać nowe funkcje, usuwać wycofane funkcje lub wprowadzać niezgodności z poprzednimi 3 miesięcami. Po zaktualizowaniu kanału może być konieczne przetestowanie tych zmian.
W tym kwartale ta wersja nie będzie zawierać nowych funkcji, poprawek błędów ani ulepszeń wydajności. Nie spowoduje usunięcia wycofanych funkcji ani nie wprowadzi niezgodności wstecznej.
Aktualizacje wersji
W połowie listopada numery wersji są przenoszone, aby uwzględnić wydanie nowej wersji.
Wersja 3.59
W połowie listopada udostępnimy nową wersję 3.59. Po wydaniu ta wersja będzie zawierać nowe funkcje, usuwać przestarzałe funkcje lub wprowadzać niezgodności wstecz w porównaniu z wersją 3.58. Aplikację należy przetestować po zmianie numeru wersji.
W trakcie kwartału nowa wersja będzie co tydzień aktualizowana o nowe funkcje, poprawki błędów i ulepszenia wydajności. Nie spowoduje usunięcia wycofanych funkcji ani nie wprowadzi niezgodności wstecznej.
Wersja 3.58
Ta wersja zawiera nowe funkcje, usuwa wycofane funkcje lub wprowadza niezgodności wsteczne w stosunku do wersji 3.57. Aplikację należy przetestować po zmianie numeru wersji.
Po połowie listopada ta wersja nie będzie już aktualizowana o nowe funkcje, poprawki błędów ani ulepszenia działania. Nie spowoduje usunięcia wycofanych funkcji ani nie wprowadzi niezgodności wstecznej.
Wersja 3.57
Ta wersja zawiera nowe funkcje, usuwa wycofane funkcje lub wprowadza niezgodności wsteczne w porównaniu z wersją 3.56. Aplikację należy przetestować po zmianie numeru wersji.
Ta wersja nie będzie już aktualizowana o nowe funkcje, poprawki błędów ani ulepszenia. Nie usunie funkcji wycofanych po tej wersji i nie wprowadzi nowych niezgodności wstecznej.
Wersja 3.56
Ta wersja zawiera nowe funkcje, usuwa wycofane funkcje lub wprowadza niezgodności wsteczne w porównaniu z wersją 3.55. Aplikację należy przetestować po zmianie numeru wersji.
Ta wersja nie będzie już aktualizowana o nowe funkcje, poprawki błędów ani ulepszenia. Nie usunie funkcji wycofanych po tej wersji i nie wprowadzi nowych niezgodności wstecznej.
Wersja 3.55
Po połowie listopada ta wersja zostanie usunięta i nie będzie można jej już używać. Każda próba załadowania tej wersji zostanie zignorowana, a zamiast niej wyświetli się kanał domyślny.
Obsługa wersji
W każdym kwartale dostępne są 4 wersje. Obsługiwane są wszystkie 4 te wersje.
Sprawdzanie wersji
Aby debugować, użyj właściwości google.maps.version
, aby uzyskać w aplikacji bieżącą wersję interfejsu Maps JavaScript API.
Poniższy przykładowy kod zapisuje wersję interfejsu API w konsoli przeglądarki.
(więcej informacji o konsoli przeglądarki znajdziesz w
przewodniku po sprawdzaniu błędów w przeglądarce).
<!DOCTYPE html>
<html>
<head>
<title>Display Google Maps API Version</title>
</head>
<body>
<script>
function initMap() {
// Add your map here.
console.log('Google Maps API version: ' + google.maps.version);
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap"
defer></script>
</body>
</html>
Dokumentacja wersji interfejsu API
Przewodnik dla deweloperów zawsze opisuje tygodniową wersję.
Oprócz tego dla każdej wersji jest osobna referencja:
- Wersja 3.58. Dokumentacja API (kanał cotygodniowy)
- Dokumentacja API wersji 3.57 (kanał kwartalny)
- Dokumentacja API wersji 3.56
- Dokumentacja API wersji 3.55
- Wersje od 3.0 do 3.54 zostały usunięte.