Narzędzia dla deweloperów

Buduj z Mapcode

Zacznij od REST API, jeśli chcesz szybko wypróbować mapcode: integracja jest prosta, a pierwsze wyniki uzyskasz w kilka minut. Użyj biblioteki, np. TypeScript, gdy potrzebujesz lokalnego lub offline’owego kodowania, niższej latencji, braku zależności od sieci lub braku kosztów transferu danych API.

Zalecana kolejność

  1. REST API dla najszybszej pierwszej integracji.
  2. TypeScript, gdy chcesz lokalnego kodowania w aplikacjach webowych lub Node.js.
  3. Python do skryptów, analiz i backendowych przepływów pracy.
  4. Java dla istniejących aplikacji JVM.

Szybki start z REST API

Użyj publicznego REST API, aby sprawdzić działanie kodowania i dekodowania, zanim wybierzesz głębszą integrację. Te przykłady używają Mount Kilimanjaro jako neutralnego punktu orientacyjnego w Afryce.

1. Współrzędne na mapcode

Zażądaj mapcode dla współrzędnych w pobliżu Mount Kilimanjaro i ogranicz lokalny wynik do Tanzanii.

Żądanie
GET https://api.mapcode.com/mapcode/json/codes/-3.0674,37.3556?territory=TZA
Kluczowa odpowiedź
{
  "local": {
    "mapcode": "86.W6V5",
    "territory": "TZA"
  }
}

2. Mapcode na współrzędne

Zdekoduj lokalny mapcode z powrotem do środkowego punktu reprezentowanego obszaru.

Żądanie
GET https://api.mapcode.com/mapcode/json/coords/TZA%2086.W6V5
Kluczowa odpowiedź
{
  "latDeg": -3.0673755,
  "lonDeg": 37.3555635
}

Niewielkie różnice w współrzędnych po dekodowaniu są normalne, ponieważ mapcode reprezentuje mały obszar, a nie dokładny oryginalny punkt wejściowy.

Otwarta pełna dokumentacja REST API

Biblioteki

Użyj biblioteki, jeśli chcesz kodować i dekodować mapcode wewnątrz własnej aplikacji, bez konieczności korzystania z wywołań sieciowych.

Python

Użyj Pythona do skryptów, przepływów danych i usług backendowych.

Instalacja
pip install mapcode
Kodowanie i dekodowanie
import mapcode

print(mapcode.encode(-3.0674, 37.3556, "TZA")[0])
print(mapcode.decode("TZA 86.W6V5"))

Java

Użyj Javy, gdy integrujesz mapcode z istniejącą aplikacją JVM.

Zależność Maven
<dependency>
  <groupId>com.mapcode</groupId>
  <artifactId>mapcode</artifactId>
  <version>2.4.19</version>
</dependency>
Kodowanie i dekodowanie
import com.mapcode.Mapcode;
import com.mapcode.MapcodeCodec;
import com.mapcode.Point;
import com.mapcode.Territory;

Mapcode code = MapcodeCodec.encodeToShortest(-3.0674, 37.3556, Territory.TZA);
System.out.println(code.getCodeWithTerritory());

Point point = MapcodeCodec.decode("TZA 86.W6V5");
System.out.println(point.getLatDeg() + ", " + point.getLonDeg());

Inne narzędzia

Te narzędzia pozostają dostępne, ale większość nowych integracji technicznych powinna zaczynać od REST, TypeScript lub Python.

Narzędzie wiersza poleceń

Źródła C/C++ zawierają wieloplatformowe narzędzie wiersza poleceń do kodowania i dekodowania mapcode’ów.

MyMapcodes.com

Możesz użyć MyMapcodes.com, aby łatwo znaleźć mapcode’y, także na swoim telefonie. MyMapcodes to darmowa, niezależna strona internetowa.

Narzędzia starszej generacji

Narzędzia starszej generacji dla systemu Windows pozostają dostępne dla wygody, ale nie są zalecanym sposobem dla nowych integracji.

Koduj lokalizację -33.93, 18.8:
mapcode -e -33.93, 18.8
Dekoduj ją ponownie:
mapcode -d ZAF WK.QV5
Konwertuj mapcode na współrzędne:
=WEBSERVICE("https://api.mapcode.com/mapcode/xml/coords/Q4.HGY?context=NLD")
Konwertuj współrzędne z powrotem na mapcode’y:
=WEBSERVICE("https://api.mapcode.com/mapcode/xml/codes/52.460897,5.1074585")