Свой слой дорог из MVT

Выделите дорожную сеть из векторных тайлов. Цвет и толщина задаются в приложении.

  1. Сравните выделенные дороги с подложкой.
  2. Название source-layer должно совпадать со слоем внутри вашего MVT.
import * as sdk from "@umap-llc/map-react";

// HTML: <div id="map" style="height:480px;position:relative"></div>
const map = sdk.createMap({
  container: "map",
  style: "YOUR_STYLE_URL",
  accessToken: "YOUR_ACCESS_TOKEN",
  center: [71.423, 51.128],
  zoom: 14,
});

async function setupExample(map, sdk, report = console.log) {
  await map.addSource("roads", {
    type: "vector",
    tiles: [
      "https://developer.umap.kz" +
        "/api/sdk-examples/vector/{z}/{x}/{y}?v=real-osm-2",
    ],
    minzoom: 12,
    maxzoom: 14,
    bounds: [71.32, 51.06, 71.52, 51.19],
  });
  map.addLayer({
    id: "roads-overlay",
    type: "line",
    source: "roads",
    "source-layer": "transportation",
    filter: [
      "in",
      ["get", "class"],
      ["literal", ["primary", "secondary", "tertiary"]],
    ],
    "rendering-order": "overlay",
    paint: { "line-color": "#6574bd", "line-width": 3 },
  });
  map.jumpTo({ center: [71.423, 51.128], zoom: 13.5 });
}

map.once("load", async () => {
  const cleanup = await setupExample(map, sdk);
  if (cleanup) map.once("remove", cleanup);
});
Как запустить у себя

В JavaScript укажите Style URL и ключ своей карты. Код запускайте в проекте со сборщиком. Во Flutter сохраните пример в lib/main.dart и передайте UMAP_STYLE_URL и UMAP_ACCESS_TOKEN через --dart-define.

Примеры со своими данными загружают подготовленные GeoJSON и изображения. Замените их файлами вашего приложения. Для Flutter-примеров с загрузкой файлов добавьте зависимость: flutter pub add http.

Установка и первая карта →Скачать Flutter-пример