Инструменты для разработчиков

Разработка с Mapcode

Начните с REST API, если хотите быстро попробовать mapcode: интеграция простая, и вы получите результаты за несколько минут. Используйте библиотеку, например для TypeScript, если вам нужны локальное или офлайн-кодирование, меньшая задержка, отсутствие зависимости от сети или отсутствие затрат на передачу данных через API.

Рекомендуемый порядок

  1. REST API для самой быстрой первой интеграции.
  2. TypeScript, если вам нужно локальное кодирование в веб-приложениях или Node.js.
  3. Python для скриптов, анализа и бэкенд-процессов.
  4. Java для существующих JVM-приложений.

Быстрый старт с REST API

Используйте публичный REST API, чтобы проверить процесс кодирования и декодирования перед выбором более глубокой интеграции. В этих примерах используется гора Килиманджаро как нейтральный ориентир в Африке.

1. Координаты в mapcode

Запросите mapcode для координат рядом с горой Килиманджаро и ограничьте локальный результат Танзанией.

Запрос
GET https://api.mapcode.com/mapcode/json/codes/-3.0674,37.3556?territory=TZA
Ключевой ответ
{
  "local": {
    "mapcode": "86.W6V5",
    "territory": "TZA"
  }
}

2. Mapcode в координаты

Декодируйте локальный mapcode обратно в центральную точку представленной области.

Запрос
GET https://api.mapcode.com/mapcode/json/coords/TZA%2086.W6V5
Ключевой ответ
{
  "latDeg": -3.0673755,
  "lonDeg": 37.3555635
}

Небольшие различия в координатах после декодирования — это нормально, так как mapcode представляет небольшую область, а не точную исходную точку.

Открыть полную документацию REST API

Библиотеки

Используйте библиотеку, если вам нужно кодирование и декодирование mapcode внутри вашего приложения без зависимости от сетевых вызовов.

Python

Используйте Python для скриптов, обработки данных и бэкенд-сервисов.

Установка
pip install mapcode
Кодирование и декодирование
import mapcode

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

Java

Используйте Java для интеграции mapcode в существующие JVM-приложения.

Зависимость Maven
<dependency>
  <groupId>com.mapcode</groupId>
  <artifactId>mapcode</artifactId>
  <version>2.4.19</version>
</dependency>
Кодирование и декодирование
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());

Другие инструменты

Эти инструменты остаются доступными, но для большинства новых технических интеграций рекомендуется начинать с REST, TypeScript или Python.

Утилита командной строки

Исходный код на C/C++ включает кроссплатформенную утилиту командной строки для кодирования и декодирования mapcode.

MyMapcodes.com

Возможно, вам будет удобно использовать MyMapcodes.com, чтобы легко находить mapcode, в том числе на телефоне. MyMapcodes — это бесплатный неаффилированный веб-сайт.

Устаревшие инструменты

Устаревшие инструменты для Windows остаются доступными для удобства, но не рекомендуются для новых интеграций.

Кодирование координат -33.93, 18.8:
mapcode -e -33.93, 18.8
Декодирование обратно:
mapcode -d ZAF WK.QV5
Преобразование mapcode в координаты:
=WEBSERVICE("https://api.mapcode.com/mapcode/xml/coords/Q4.HGY?context=NLD")
Преобразование координат обратно в mapcode:
=WEBSERVICE("https://api.mapcode.com/mapcode/xml/codes/52.460897,5.1074585")