---
title: Niestandardowe mapy w aplikacjach internetowych przy użyciu Mapbox i Mapbox Studio - elpassion.com
description: Przewodnik krok po kroku, jak tworzyć niestandardowe mapy za pomocą Mapbox i Mapbox Studio.
image: https://www.elpassion.com/hubfs/mapbox-mapbox-studio-custom-maps-2.jpg
---

[Back to blog ](https://www.elpassion.com/blog?hsLang=pl)

 7 marca 2025 (updated: 7 marca 2025)

# Mapy niestandardowe w aplikacjach internetowych z użyciem Mapbox i Mapbox Studio

![](https://www.elpassion.com/hubfs/DawidKielbasa_author.png) ![](https://www.elpassion.com/hubfs/DawidKielbasa_author.png)

 by Dawid Kiełbasa

- [ Development ](https://www.elpassion.com/pl/blog/tag/development)

Chapters

![](https://www.elpassion.com/hubfs/mapbox-mapbox-studio-custom-maps-2.jpg) ![](https://www.elpassion.com/hubfs/mapbox-mapbox-studio-custom-maps-2.jpg)

 Show contents  Hide contents

Przewodnik krok po kroku, jak tworzyć niestandardowe mapy za pomocą Mapbox i Mapbox Studio. 

## O Mapbox

[Mapbox](https://mapbox.com) to platforma zajmująca się tworzeniem narzędzi do projektowania i tworzenia map dla aplikacji webowych/mobilnych, głównie przy użyciu oprogramowania OpenSource, takiego jak [OpenStreetMap](https://www.openstreetmap.org/#map=7/52.018/19.137).

Biblioteka [Mapbox GL JS](https://docs.mapbox.com/mapbox-gl-js/guides/) umożliwia renderowanie dynamicznych map w aplikacji webowej/mobilnej, tworzenie niestandardowych stylów, wizualizacji 3D oraz animacji (możesz zobaczyć galerię przykładowych stylów tutaj). Ponieważ Mapbox opiera się na renderowaniu map po stronie klienta, pozwala deweloperom na dynamiczną zmianę stylów lub wyświetlanie danych bezpośrednio w odpowiedzi na interakcję użytkownika.

W tym artykule pokażemy, jak stworzyć niestandardowy styl mapy za pomocą narzędzia [Mapbox Studio](https://www.mapbox.com/mapbox-studio) oraz jak go użyć w przykładowym projekcie [Next.js](https://nextjs.org).

## Czym jest Mapbox Studio?

Tworząc nowy projekt, szczególnie taki, którego centralnym elementem jest mapa, dochodzimy do momentu, w którym musimy zdecydować, jak mapa powinna wyglądać. Jeśli jest to projekt, w którym nie zależy nam na wyglądzie i przyciąganiu użytkowników interesującym designem, mamy możliwość skorzystania z standardowych stylów, które również wyglądają świetnie. Każdy dostawca map oferuje mniejszą lub większą liczbę gotowych stylów, a tak jest również w przypadku amerykańskiego dostawcy o nazwie Mapbox.

Na stronie Mapbox, w zakładce [galeria](https://www.mapbox.com/gallery/), możemy sprawdzić i przetestować dostępne style. Mamy dostępne zarówno wersje 2D, jak i 3D.

Jak już wcześniej wspomniałem, wyglądają naprawdę świetnie i w większości przypadków są wystarczające! Ale co jeśli chcemy wyróżnić się na tle konkurencji, lub mamy przypadek, w którym klient wymaga, aby główny kolor mapy był niebieski, a nazwy miast były różowe? Wiem, to abstrakcyjny pomysł, ale nie możemy go wykluczyć.

Programiści Mapbox zajęli się tymi kwestiami i stworzyli specjalne narzędzie, które pozwala na stworzenie własnych, idealnie dopasowanych i wyróżniających się stylów map od podstaw, zwane Mapbox Studio.

## Jak stworzyć style mapy od podstaw za pomocą Mapbox Studio?

Aby to zrobić, najpierw musisz założyć konto na stronie Mapbox. Po zalogowaniu się będziesz mieć dostęp do panelu swojego konta.

Plan płatności Mapbox jest oparty na zasadzie płatności za użycie, a ponieważ Mapbox zapewnia nam 50 tys. darmowych załadunków map miesięcznie, nie musimy się martwić o koszty ani o podłączanie karty kredytowej do konta. Tworzenie nowych stylów w Mapbox Studio jest również darmowe.

Ok, stwórzmy nasz pierwszy styl. Po kliknięciu przycisku "Utwórz mapę w Studio" zostaniemy przeniesieni do głównego panelu Mapbox Studio.

![Panel Mapbox Studio](https://www.elpassion.com/hs-fs/hubfs/mapbox-studio-panel-styles.png?width=1311&height=697&name=mapbox-studio-panel-styles.png)Panel Mapbox Studio. Źródło: Mapbox

W tym momencie możemy przeglądać, tworzyć i organizować nasze style, zbiory danych i zestawy kafli. Aby stworzyć nowy styl, musimy kliknąć przycisk Nowy styl. Będziemy mogli wybrać, czy nasz nowy styl ma być oparty na jednym z gotowych stylów, takich jak *Outdoors*, czy stworzyć nowy całkowicie od podstaw.

Więc kliknij na szablon *pusty*, a następnie *Dostosuj pusty*. Pierwszą rzeczą, którą widzimy, jest pusta, biała plansza z paskiem bocznym podzielonym na trzy główne sekcje: *Komponenty* (do tego wrócimy później), *Warstwy* i *3D*.

Załóżmy najpierw, że nasz nowy styl ma następujące wymagania:

- podstawą jest widok satelitarny.
- łańcuchy górskie nie mają wyglądać płasko, ale bez dodawania warstw 3D. Wydajność jest dla nas ważna.
- ponadto chcemy, aby kolor wody zmieniał się w zależności od głębokości.

Zacznijmy od Warstw. W tej zakładce możemy dodać nowe warstwy do naszej mapy. Z naszych wymagań wiemy, że nasza mapa musi być satelitarna. Więc kliknijmy na ikonę *plus* i w menu rozwijanym wpiszmy "satellite”.

![mapbox-studio-satellite](https://www.elpassion.com/hs-fs/hubfs/mapbox-studio-satellite.png?width=808&height=279&name=mapbox-studio-satellite.png)Konfiguracja warstwy satelitarnej. Źródło: Mapbox

 

Wybierz warstwę Mapbox Satellite i kliknij na zakładkę Styl. Mamy możliwość skonfigurowania naszej warstwy, zmiany przezroczystości, jasności, kontrastu itp. Polecam trochę poeksperymentować i zobaczyć, jak warstwa reaguje na zmiany.

![Widok satelitarny w Mapbox Studio](https://www.elpassion.com/hs-fs/hubfs/mapbox-studio-style-tab.png?width=1999&height=944&name=mapbox-studio-style-tab.png)Widok satelitarny. Źródło: Mapbox

Jak widzimy, oto nasz widok satelitarny! Ok, ale zdarza się, że nie chcemy, aby nasza mapa była globem. W zakładce *3D* -> *Projection* mamy możliwość wyboru jednego z 8 typów map, takich jak *Globe*, *Natural* *Earth* lub *Mercator*, który w rzeczywistości wybierzemy.

![mapbox-studio-mercator](https://www.elpassion.com/hs-fs/hubfs/mapbox-studio-mercator.png?width=1410&height=744&name=mapbox-studio-mercator.png)Typy projekcji. Źródło: Mapbox

Świetnie, mamy to. Od razu widać, że ogólny kolor wody jest, jak to powinienem powiedzieć, *ciemny*. Więc zmieńmy to. Podobnie jak w widoku satelitarnym, kliknij przycisk dodawania i wyszukaj warstwę, tylko tym razem wpisz wodę. Wybierzmy warstwę i ustawmy jej odpowiedni kolor. Zmieńmy również przezroczystość, aby oryginalny wygląd rzek i jezior z widoku satelitarnego był również lekko widoczny. Ważne jest, aby nowa warstwa była powyżej warstwy satelitarnej, w przeciwnym razie nie będzie w ogóle widoczna. Chyba że zmienimy przezroczystość warstwy satelitarnej.

![mapbox-studio-styling](https://www.elpassion.com/hs-fs/hubfs/mapbox-studio-styling.png?width=1463&height=762&name=mapbox-studio-styling.png)Typ projekcji Mercator. Źródło: Mapbox

Ok, więc teraz zamiast czarnej wody mamy jaśniejszą, ale to wciąż jakiś brzydki niebieski… Nie martw się. To tylko nasza podstawa. Teraz dodamy nową warstwę, która sprawi, że woda będzie miała inny kolor w zależności od głębokości.

Wyszukaj warstwę o nazwie głębokość i dodaj ją. Pamiętaj, aby umieścić ją powyżej poprzednich warstw. Teraz musimy ustawić odpowiedni kolor w zależności od data_range. Więc kliknij na *Color* -> *Style* *across data range* -> *min_depth*.

![Jak ustawić głębokość wody w Mapbox Studio](https://www.elpassion.com/hs-fs/hubfs/mapbox-studio-water-depth.png?width=605&height=471&name=mapbox-studio-water-depth.png)Warstwa wody. Źródło: Mapbox

Ustaw kolor dla *min_depth* i kliknij gotowe. Teraz możemy dodać dodatkowe kroki, klikając *Dodaj kolejny krok*, ustawiając minimalną wartość zakresu i wybierając kolor. Dla mnie wygląda to tak:

![mapbox-studio-mindepth](https://www.elpassion.com/hs-fs/hubfs/mapbox-studio-mindepth.png?width=1456&height=664&name=mapbox-studio-mindepth.png)Konfiguracja warstwy wody. Źródło: Mapbox

Udało się! Teraz możemy zobaczyć, które obszary Pacyfiku są najgłębsze. Zróbmy coś innego z wyglądem gór. 

Jak pamiętamy, w naszych założeniach stwierdziliśmy, że łańcuchy górskie nie powinny wyglądać płasko. Dzięki temu, że używamy warstwy satelitarnej, mamy to w pewnym sensie już, ale nie dokładnie tak, jak chcemy. Wyszukajmy warstwę *hillshade* i dodajmy ją. Powinniśmy również zmienić przezroczystość, ponieważ bez przezroczystości warstwa jest zdecydowanie zbyt ciemna.

>![Jak dostosować góry za pomocą Mapbox Studio](https://www.elpassion.com/hs-fs/hubfs/mapbox-studio-custom-map.png?width=812&height=593&name=mapbox-studio-custom-map.png)Warstwa hillshade. Źródło: Mapbox

Jak widać powyżej, Alpy zdecydowanie zyskały na głębi. Mówiłem wcześniej, że wrócimy do zakładki *Komponenty*. Zróbmy to teraz.

W zakładce Komponenty możemy również dodać nowe elementy do naszego stylu, podobnie jak w zakładce *Warstwy*. Różnica polega na tym, że są gotowe zestawy komponentów, składające się z wielu indywidualnych warstw. Więc dodajmy komponent o nazwie *Natural* features. Składa się z wielu indywidualnych warstw, np. nazw oceanów. Dodany komponent jest natychmiast widoczny w zakładce warstw. Musimy umieścić go na górze naszych warstw.

Dodajmy również inny komponent. Tym razem to Granice administracyjne. Stylizujmy wszystko trochę. Ostateczny wynik wygląda tak:

![Jak dostosować mapy za pomocą Mapbox Studio](https://www.elpassion.com/hs-fs/hubfs/mapbox-studio-customized-maps.png?width=1166&height=628&name=mapbox-studio-customized-maps.png)Komponenty administracyjne/naturalne. Źródło: Mapbox

Jak wspomniałem wcześniej, gorąco polecam eksperymentowanie z dostępnymi opcjami. Możliwości są ogromne.

Mapbox daje nam również możliwość przesyłania własnych warstw. Chcesz pokazać lokalizacje wszystkich stacji ładowania pojazdów elektrycznych w USA? Żaden problem. Wystarczy przesłać własny zbiór danych zamiast wybierać z dostępnych warstw, na przykład w formacie GeoJSON. Możesz wyszukać przykładowe zbiory danych w Internecie. Jest wiele stron, które oferują dane za darmo.

Ok, mamy nasz styl. Aby go użyć, musimy najpierw opublikować. W prawym górnym rogu znajduje się przycisk *Opublikuj*. Kliknij go, a następnie kliknij *Opublikuj* jako nowy. W głównym panelu Mapbox Studio nowo opublikowany styl powinien pojawić się na górze. Po kliknięciu na 3 kropki po prawej stronie będziemy mieli możliwość skopiowania adresu URL stylu, który będzie potrzebny w następnej części wpisu.

## Jak zintegrować Mapbox z projektem Next.js przy użyciu biblioteki Mapbox GL JS?

[Mapbox GL JS](https://docs.mapbox.com/mapbox-gl-js/guides/) to biblioteka JavaScript po stronie klienta do tworzenia map internetowych i aplikacji internetowych z nowoczesną technologią mapowania Mapbox. Może być używana do wyświetlania map Mapbox w przeglądarce internetowej lub kliencie oraz do dostosowywania doświadczeń związanych z mapą w Twojej aplikacji.

Aby użyć naszego świeżo stworzonego stylu w projekcie Next.js, musimy najpierw stworzyć ten projekt.

Na [stronie Next.js](https://nextjs.org/docs/getting-started) znajdziemy instrukcje, jak wygenerować podstawową konfigurację projektu.

Zróbmy to. Otwórz dowolny edytor i postępuj zgodnie z instrukcjami. Gdy projekt zostanie utworzony, usuń zbędne elementy z pliku pages/index.tsx, aby wyglądał tak:

Uruchom aplikację jak zwykle za pomocą polecenia npm run dev . Projekt powinien być dostępny pod adresem localhost:3000. Aby wyświetlić naszą mapę, musimy zainstalować bibliotekę [Mapbox GL JS](https://docs.mapbox.com/mapbox-gl-js/guides/). Polecenie instalacji można znaleźć [tutaj](https://www.npmjs.com/package/mapbox-gl).

Aby ułatwić sobie zadanie, zainstaluj także pakiet [React-map-gl](https://visgl.github.io/react-map-gl/), który zawiera zestaw komponentów ułatwiających integrację z Mapbox. Nie jest to jednak konieczne. Link do strony npm można znaleźć [tutaj](https://www.npmjs.com/package/react-map-gl).

Ok, mamy wszystko. W głównym katalogu projektu utwórz folder components i plik Map.tsx w nim. Umieścimy tutaj kod związany z naszą mapą. 

Utwórz komponent Map. Następnie zaimportuj komponent mapy z pakietu react-map-gl i renderuj go. Ustaw rozmiar mapy na pełną stronę, domyślny styl mapy oraz initialViewState. Cały komponent powinien wyglądać tak:

Zaimportuj nasz nowy komponent w pliku pages/index.tsx. Pamiętaj, aby również zaimportować style w pliku _app.tsx.

Jednak gdy otworzymy przeglądarkę, zauważymy, że nasza mapa się nie pojawia i zamiast tego widzimy błąd. Dzieje się tak, ponieważ nie ustawiliśmy odpowiedniego tokena, za pomocą którego nasz komponent mógłby się autoryzować.

Aby to zrobić, musimy najpierw go stworzyć. Wróćmy do głównego panelu aplikacji Mapbox. Na środku ekranu zobaczymy następujący moduł.

![Jak zintegrować Mapbox z projektem Next.js przy użyciu Mapbox GL JS](https://www.elpassion.com/hs-fs/hubfs/mapbox-gl-js-integration.png?width=893&height=270&name=mapbox-gl-js-integration.png)Token dostępu. Źródło: Mapbox

Mamy możliwość stworzenia nowego tokena lub użycia domyślnego tokena dostępu. Musimy jednak pamiętać, że domyślny token dostępu nie będzie działał w środowisku produkcyjnym. W naszym przypadku jest wystarczający. Skopiujmy go i dodajmy do komponentu mapy jako prop mapboxAccessToken. Pamiętaj, że tokeny autoryzacyjne nie powinny być przechowywane bezpośrednio w kodzie, jak w poniższym przykładzie. Najbezpieczniejszym sposobem jest stworzenie pliku .env i przechowywanie tam wszystkich zmiennych, które nie powinny znajdować się w repozytorium.

Teraz otwórzmy przeglądarkę. Powinniśmy zobaczyć mapę z jednym z podstawowych stylów dostarczanych przez Mapbox - [styl uliczny](https://www.mapbox.com/maps/streets).

![Jak zintegrować Mapbox z Next.js przy użyciu Mapbox GL JS](https://www.elpassion.com/hs-fs/hubfs/Mapbox-GL-JS-integration.png?width=1932&height=1160&name=Mapbox-GL-JS-integration.png)Styl mapy na świeżym powietrzu. Źródło: Mapbox

Jednak mamy nasz własny fajny styl i chcielibyśmy go użyć. Żaden problem! Wróćmy do panelu Mapbox Studio i skopiujmy link do stylu, który opublikowaliśmy wcześniej. Teraz ustaw ten styl, zastępując prop mapStyle w naszym komponencie. I mamy to! Nasz własny styl działa!

![Jak zintegrować Mapbox z Next.js przy użyciu Mapbox GL JS](https://www.elpassion.com/hs-fs/hubfs/mapbox-gl-js-integration2.png?width=1930&height=1078&name=mapbox-gl-js-integration2.png) Nasz styl mapy. Źródło: Mapbox

## Ostateczne przemyślenia

Jak widać, narzędzie Mapbox Studio oraz ostateczna konfiguracja z frameworkiem Next.js wcale nie są trudne. Nie musimy również tworzyć wszystkich warstw jednocześnie w panelu. Jak wspomniano we wprowadzeniu, Mapbox pozwala nam również na dodawanie dynamicznych warstw z poziomu kodu. Więcej informacji na ten temat można znaleźć w [dokumentacji Mapbox](https://docs.mapbox.com/mapbox-gl-js/guides/).

## Mapbox vs Google Maps. Który jest lepszy?

Jak więc Mapbox wypada w porównaniu do konkurencji? Czy warto go używać, gdy są takie narzędzia jak Google Maps? A może Mapbox jest lepszym narzędziem?

Jak zawsze, odpowiedź brzmi - to zależy!

Zarówno Mapbox, jak i Google Maps to doskonałe narzędzia do wizualizacji map, a każde z nich ma swoje indywidualne cechy, które sprawiają, że w określonych sytuacjach wypada lepiej niż konkurencja.

Mapbox, który starałem się przedstawić w tym poście, jest często uważany za bardziej elastyczny. Posiada ogromną liczbę narzędzi, w tym możliwość tworzenia niestandardowych stylów. Usługa wydaje się również znacznie tańsza, a dokumentacja jest bardzo przyjazna dla deweloperów.

Z drugiej strony, Google Maps to prawdopodobnie największy dostawca map na rynku. Często mówi się, że dokładność map dostarczanych przez Google Maps jest znacznie wyższa niż u konkurencji. Dodatkowo korzystanie z Google Maps umożliwia integrację z innymi usługami Google, których jest wiele.

Dlatego trudno jednoznacznie stwierdzić, który dostawca jest lepszy. Decyzja o wyborze dostawcy powinna być zatem oparta na indywidualnych potrzebach.

### Sprawdź także

- [Jak poprawić Core Web Vitals swojej strony internetowej za pomocą Next.js](https://www.elpassion.com/blog/how-to-improve-core-web-vitals-with-nextjs?hsLang=pl) — Next.js oferuje hybrydowe renderowanie statyczne i serwerowe, automatyczne dzielenie kodu, optymalizację obrazów i wiele więcej, a jednocześnie jest stosunkowo łatwy do opanowania. Możesz poprawić Core Web Vitals, po prostu używając go w odpowiedni sposób.

[Share on Twitter ](http://twitter.com/share?url=https://www.elpassion.com/pl/blog/custom-maps-in-web-apps-using-mapbox-and-mapbox-studio) [Share on LinkedIn ](https://www.linkedin.com/shareArticle?mini=true&url=https://www.elpassion.com/pl/blog/custom-maps-in-web-apps-using-mapbox-and-mapbox-studio) [Share on Facebook ](http://www.facebook.com/sharer.php?u=https://www.elpassion.com/pl/blog/custom-maps-in-web-apps-using-mapbox-and-mapbox-studio)

![](https://www.elpassion.com/hubfs/DawidKielbasa_author.png) ![](https://www.elpassion.com/hubfs/DawidKielbasa_author.png)

 Dawid Kiełbasa

 Frontend Developer

<https://www.linkedin.com/in/dawid-kiełbasa-18b6a3198/>

## Może Ci się również spodobać

[![](https://www.elpassion.com/hubfs/natural-language-processing-features.png) ![](https://www.elpassion.com/hubfs/natural-language-processing-features.png) ](https://www.elpassion.com/pl/blog/natural-language-processing?hsLang=pl)

- AI

### [Odblokuj moc słów: Jak funkcje NLP zmieniają sposób, w jaki rozumiemy język](https://www.elpassion.com/pl/blog/natural-language-processing?hsLang=pl)

 23 czerwca 2025 • Ula Kowalska

[![](https://www.elpassion.com/hubfs/125d6de5-3db6-43db-ab6e-eab671ba037f.png) ![](https://www.elpassion.com/hubfs/125d6de5-3db6-43db-ab6e-eab671ba037f.png) ](https://www.elpassion.com/pl/blog/rewrite-or-refactor-a-balanced-guide-to-legacy-systems?hsLang=pl)

- [ Development ](https://www.elpassion.com/pl/blog/tag/development)
- [ Business ](https://www.elpassion.com/pl/blog/tag/business)

### [Przebudować czy Zrefaktoryzować? Zrównoważony przewodnik po systemach dziedziczonych](https://www.elpassion.com/pl/blog/rewrite-or-refactor-a-balanced-guide-to-legacy-systems?hsLang=pl)

 14 kwietnia 2025 • Ula Kowalska

[![](https://www.elpassion.com/hubfs/BLOG%20IMAGES/migrating-wordpress-to-webflow.png) ![](https://www.elpassion.com/hubfs/BLOG%20IMAGES/migrating-wordpress-to-webflow.png) ](https://www.elpassion.com/pl/blog/switch-from-wordpress-to-webflow?hsLang=pl)

- [ Business ](https://www.elpassion.com/pl/blog/tag/business)

### [Dlaczego dramat związany z WordPress sprawia, że przejście na Webflow to mądry krok](https://www.elpassion.com/pl/blog/switch-from-wordpress-to-webflow?hsLang=pl)

 11 marca 2025 • Maria Pradiuszyk

Może to początek pięknej przyjaźni?

## Jesteśmy dostępni dla nowych projektów.

[![Contact us](https://no-cache.hubspot.com/cta/default/4937048/d8fa95f1-46dc-4ecf-b1a6-aa709c23404b.png)](https://cta-redirect.hubspot.com/cta/redirect/4937048/d8fa95f1-46dc-4ecf-b1a6-aa709c23404b)

```json
{
  "@context" : "http://schema.org",
  "@type" : "Organization",
  "address" : {
    "@type" : "PostalAddress",
    "addressCountry" : "Poland",
    "addressLocality" : "Warsaw",
    "addressRegion" : "Mazowieckie",
    "postalCode" : "",
    "streetAddress" : "Grzybowska 62 "
  },
  "email" : "projects@elpassion.com",
  "foundingDate" : "2011",
  "foundingLocation" : "Warsaw, Poland",
  "logo" : "https://www.elpassion.com/hubfs/elp_mnt_black.svg",
  "mainEntityOfPage" : {
    "@id" : "https://www.elpassion.com/pl/blog/custom-maps-in-web-apps-using-mapbox-and-mapbox-studio",
    "@type" : "WebPage",
    "description" : "Przewodnik krok po kroku, jak tworzyć niestandardowe mapy za pomocą Mapbox i Mapbox Studio."
  },
  "member" : {
    "@type" : "Person",
    "jobTitle" : "CEO",
    "name" : "Anna Elwart",
    "nationality" : "Poland",
    "url" : "https://www.linkedin.com/in/annaelwart/"
  },
  "name" : "El Passion",
  "numberOfEmployees" : "60",
  "sameAs" : [ "https://twitter.com/elpassion", "https://www.facebook.com/elpassion/", "https://www.linkedin.com/company/el-passion", "https://github.com/elpassion", "https://www.behance.net/elpassion", "https://dribbble.com/elpassion" ],
  "url" : "https://www.elpassion.com",
  "vatId" : "PL5213644497"
}
```

```json
{
  "@context" : "http://schema.org",
  "@type" : "WebSite",
  "url" : "https://www.elpassion.com/"
}
```

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : [ {
    "@type" : "Person",
    "name" : "Dawid Kiełbasa",
    "url" : "https://www.elpassion.com/pl/blog/author/dawid-kielbasa"
  }, {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "height" : "150",
      "url" : "https://26048673.fs1.hubspotusercontent-eu1.net/hubfs/26048673/EL-Passion-Logo-400x150.svg",
      "width" : "400"
    },
    "name" : "EL Passion",
    "url" : "https://www.elpassion.com"
  } ],
  "dateModified" : "2025-03-07",
  "datePublished" : "2025-03-07",
  "headline" : "Niestandardowe mapy w aplikacjach internetowych przy użyciu Mapbox i Mapbox Studio - elpassion.com",
  "image" : "https://www.elpassion.com/hubfs/mapbox-mapbox-studio-custom-maps-2.jpg",
  "inLanguage" : "en",
  "mainEntityOfPage" : {
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "height" : "150",
      "url" : "https://26048673.fs1.hubspotusercontent-eu1.net/hubfs/26048673/EL-Passion-Logo-400x150.svg",
      "width" : "400"
    },
    "name" : "EL Passion",
    "url" : "https://www.elpassion.com"
  },
  "url" : "https://www.elpassion.com/pl/blog/custom-maps-in-web-apps-using-mapbox-and-mapbox-studio"
}
```