Свой слой дорог из MVT
Выделите дорожную сеть из векторных тайлов. Цвет и толщина задаются в приложении.
- Сравните выделенные дороги с подложкой.
- Название 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.