API geolokalizacji w czasie rzeczywistym JavaScript z nowoczesnymi mapami
Published: 2024-01-25 21:40:45

Zanim rozpoczniemy ten samouczek, zarejestruj [konto PubNub, aby uzyskać klucze API](https://www.pubnub.com/docs/general/basics/set-up-your-account). Oferujemy hojną warstwę piaskownicy, która nie kosztuje ani grosza, dopóki nie nadejdzie czas na skalowanie!

Funkcje[geolokalizacji](https://www.pubnub.com/solutions/geolocation/) i śledzenia stale się rozwijają. Wyszliśmy poza statyczne mapy do sfery interaktywnej i dynamicznej technologii mapowania API. Zmiana ta podkreśliła niezbędną rolę, jaką geolokalizacyjny interfejs API odgrywa w każdej branży, od gospodarki na żądanie po [Internet przedmiotów](https://www.pubnub.com/solutions/iot-device-control/).

Śledzenie w czasie rzeczywistym z pewnością rzuca szeroką sieć, prawda?

Przegląd samouczka śledzenia w Mapach Google
--------------------------------------------

Jest to czteroczęściowy samouczek na temat tworzenia map w czasie rzeczywistym dla stron internetowych i mobilnych przy użyciu interfejsu API Google Maps JavaScript i PubNub. Zaczniemy od podstaw, aby [skonfigurować](https://www.pubnub.com/docs/general/basics/set-up-your-account) aplikację, a następnie dodamy funkcjonalność geolokalizacji w czasie rzeczywistym w kolejnych częściach.

Pod koniec będziesz mieć podstawową aplikację do śledzenia lokalizacji JavaScript ze znacznikami na mapie, śledzeniem lokalizacji urządzenia i ścieżkami lotu, zasilaną przez JavaScript Google Maps API i [PubNub](https://www.pubnub.com/docs).

![](/cdn/3prze68gbwl1/5KybCqYQ9RHWnqwpscWRi1/924f8e5e7646c6d70db67b83409c1546/pubnub_javascript_overview-min.png)

Konfiguracja API lokalizacji w czasie rzeczywistym
--------------------------------------------------

### Zasoby samouczka

W tym samouczku zakładamy, że pracujesz z najnowszą przeglądarką evergreen na komputerze stacjonarnym lub urządzeniu mobilnym.

### Konfiguracja PubNub

Aby rozpocząć, najpierw będziesz potrzebować kluczy publikowania i subskrypcji PubNub. Jeśli nie masz konta, możesz zarejestrować się [tutaj](https://www.pubnub.com/docs/general/basics/set-up-your-account), a klucze pub/sub są dostępne w [panelu administratora](https://dashboard.pubnub.com/login). Klucze przypominają identyfikatory UUID i zaczynają się odpowiednio od prefiksów "pub-c-" i "sub-c-".

Gdy masz już klucze pub/sub, utwórz nową aplikację PubNub, która będzie reprezentować twoją aplikację na Androida (i wszelkie inne systemy, które komunikują się za pomocą tych samych kanałów). Aplikacja PubNub będzie zawierać klucze publikowania i subskrybowania, których aplikacje mogą używać dla tych określonych funkcji.

### Konfiguracja interfejsu API Map Google

Aby zintegrować się z Google Maps, musisz utworzyć klucz API Google Maps. Zalecamy to zrobić, korzystając z [przewodnika dla początkujących](https://developers.google.com/maps/documentation/javascript/adding-a-google-map#key) tutaj. Spowoduje to utworzenie unikalnego klucza API, który można zablokować w dowolnej aplikacji internetowej. Po rozpoczęciu tworzenia wielu projektów możesz zarządzać swoimi poświadczeniami w konsoli Google API tutaj.

Nie zapomnij włączyć "Maps JavaScript API" w konsoli Google Cloud po utworzeniu klucza API.

Przegląd interfejsu API lokalizacji w czasie rzeczywistym
---------------------------------------------------------

W tej przykładowej aplikacji HTML5 i JavaScript [PubNub](https://www.pubnub.com/docs) zapewnia możliwość komunikacji w czasie rzeczywistym, która pozwala naszej aplikacji internetowej odbierać zdarzenia przychodzące, gdy zmienia się pozycja zdalnego obiektu (szerokość i długość geograficzna).

Podstawową funkcjonalnością PubNub, z której korzystamy, jest komunikacja w [czasie rzeczywistym](https://pubnub.com/products/pubnub-platform/). Nasza aplikacja wykorzystuje kanał PubNub do wysyłania i odbierania zdarzeń zmiany pozycji. W tym przykładzie ta sama aplikacja zarówno wysyła, jak i odbiera zdarzenia pozycji, więc mówimy, że jest zarówno wydawcą, jak i subskrybentem. W twojej aplikacji system(y) wydawcy (nadawcy) mogą być inne niż system(y) subskrybenta (odbiorcy).

Przegląd Google Maps
--------------------

W tym samouczku użyjemy [JavaScript Google Maps API](https://developers.google.com/maps/documentation/javascript/overview) i [HTML5 Map Widget](https://developers.google.com/maps/documentation/embed/get-started). Widżet mapy HTML5 wyświetla mapę skonfigurowanej okolicy. Rozmiar mapy, szerokość i długość geograficzna środka mapy, poziom powiększenia, styl mapy i inne opcje mogą być skonfigurowane zgodnie z początkowymi preferencjami i aktualizowane na bieżąco.

Interfejs API JavaScript Google Maps zapewnia opcję wywołania zwrotnego inicjalizacji, która wywołuje określoną funkcję podczas ładowania mapy. Ponadto będziemy korzystać z funkcji takich jak Map Markers i Polylines, które umożliwiają umieszczanie przyjaznych [znaczników mapy](https://pubnub.com/blog/javascript-google-maps-api-map-markers/) i [ścieżek](https://pubnub.com/blog/javascript-google-maps-api-flight-paths/) lotu na mapie w określonych przez użytkownika lokalizacjach (części 2, 3 i 4). Wszystkie punkty są określane przez użytkownika i mogą być aktualizowane w czasie rzeczywistym.

Przewodnik po kodzie
--------------------

Aby pracować z kodem, będziesz chciał rozwidlić go do własnego projektu za pomocą CodePen lub pobrać kod HTML do pliku i uruchomić go za pomocą ulubionego serwera HTTP. Zalecamy edycję kodu w webowym IDE CodePen w ten sposób:

![](/cdn/3prze68gbwl1/asset-17suaysk1qa1k0b/9ba4853976e96918d7529ff7b0f9edda/pubnub_javascript_devenv-1024x909.png)

Po przejściu do IDE będziesz mógł wprowadzić drobne zmiany w kodzie, aby szybko uruchomić aplikację.

### Konfiguracja i konfiguracja aplikacji

Struktura strony internetowej powinna być znajoma, jeśli w przeszłości pracowałeś z aplikacjami internetowymi. Zaczynamy od zwykłej aplikacji HTML5 + JavaScript, która ma znacznik DIV do wyświetlania mapy. Dołączamy bibliotekę PubNub do komunikacji w czasie rzeczywistym w HEAD strony HTML.

Będziesz także chciał dołączyć interfejs API Map Google za pomocą tagu SCRIPT u dołu strony HTML. Sprawdź oficjalną dokumentację Google Maps, aby uzyskać najnowszą wersję.

Pamiętaj, że musisz zastąpić klucz API map zastępczych i wersję w atrybucie SCRIPT SRC odpowiednio powyżej.

Warto wspomnieć, że aby lokalizacja HTML5 działała, będziesz polegać na tym, że użytkownik wyraźnie zezwoli na dostęp lokalizacji do aplikacji na swoim urządzeniu. Obsługa łagodnego trybu awaryjnego w przypadkach, gdy odmówiono zezwolenia na lokalizację, wykracza poza zakres tego samouczka. Ważne jest jednak, aby upewnić się, że obsługujesz te przypadki w swojej ostatecznej aplikacji, aby zapewnić najlepsze wrażenia użytkownika.

Ustawienia PubNub są zawarte w prostej mapie JavaScript. Możesz zaktualizować je własnymi wartościami w następujący sposób:

```js
pubnub = new PubNub({
    publishKey : "myPublishKey",
    subscribeKey : "mySubscribeKey",
    userId: "myUniqueUserId"
});
```

### Uruchamianie kodu

Nie musisz robić nic specjalnego, aby uruchomić aplikację w CodePen - uruchamia się ona automatycznie z edytora online. W zależności od miejsca wyświetlania aplikacji (geolokalizacja) i możliwości połączenia (Wi-Fi lub LTE), mogą być zgłaszane różne lokalizacje (IP do geo w porównaniu z lokalizacją GPS). Zauważyliśmy, że różne urządzenia, a także różne przeglądarki, mają własną charakterystykę dokładności lokalizacji, niektóre bardziej dokładne niż inne.

Następne kroki
--------------

Dzięki temu mamy już skonfigurowaną naszą aplikację. W [części drugiej zaimplementujemy znaczniki mapy na żywo](https://pubnub.com/blog/javascript-google-maps-api-map-markers/), które identyfikują lokalizację urządzenia na mapie.

Jak PubNub może ci pomóc?
=========================

Ten artykuł został pierwotnie opublikowany na [PubNub.com](https://www.pubnub.com/blog/realtime-geolocation-api-javascript-with-modern-maps/)

Nasza platforma pomaga programistom tworzyć, dostarczać i zarządzać interaktywnością w czasie rzeczywistym dla aplikacji internetowych, aplikacji mobilnych i urządzeń IoT.

Podstawą naszej platformy jest największa w branży i najbardziej skalowalna sieć komunikacyjna w czasie rzeczywistym. Dzięki ponad 15 punktom obecności na całym świecie obsługującym 800 milionów aktywnych użytkowników miesięcznie i niezawodności na poziomie 99,999%, nigdy nie będziesz musiał martwić się o przestoje, limity współbieżności lub jakiekolwiek opóźnienia spowodowane skokami ruchu.

Poznaj PubNub
-------------

Sprawdź [Live Tour](https://www.pubnub.com/tour/introduction/), aby zrozumieć podstawowe koncepcje każdej aplikacji opartej na PubNub w mniej niż 5 minut.

Rozpocznij konfigurację
-----------------------

Załóż [konto](https://admin.pubnub.com/signup/) PubNub, aby uzyskać natychmiastowy i bezpłatny dostęp do kluczy PubNub.

Rozpocznij
----------

[Dokumenty](https://www.pubnub.com/docs) PubNub pozwolą Ci rozpocząć pracę, niezależnie od przypadku użycia lub [zestawu SDK](https://www.pubnub.com/docs).