GeoJSON за уеб карти: ръководство

2026-03-02
geojsonleafletmapboxУеб картиjavascript

GeoJSON е основният формат за обмен на геоданни в уеб. Всички популярни картографски библиотеки — Leaflet, Mapbox GL JS, OpenLayers, deck.gl — поддържат GeoJSON нативно. С osm2cdr.com можете да експортирате всяка област от OpenStreetMap в GeoJSON за секунди.

Структура на GeoJSON

Файлът GeoJSON е обикновен JSON с обекти от тип FeatureCollection. Всеки Feature съдържа геометрия (точка, линия, полигон) и свойства (properties) — тагове на OpenStreetMap: име, тип на обекта, адрес и други атрибути.

Как да го свържете с Leaflet

Най-лесният начин да покажете GeoJSON на уеб карта:

fetch('/data/moscow-buildings.geojson')
  .then(r => r.json())
  .then(data => L.geoJSON(data, {
    style: { color: '#3388ff', weight: 1, fillOpacity: 0.3 }
  }).addTo(map));

Стилизиране по свойства

GeoJSON от osm2cdr.com запазва таговете на OSM: highway, building, amenity, natural и други. Това позволява обектите да се стилизират по тип:

L.geoJSON(data, {
  style: function(feature) {
    if (feature.properties.building) return { color: '#e74c3c' };
    if (feature.properties.natural === 'water') return { color: '#3498db' };
    return { color: '#95a5a6' };
  }
});

Оптимизация за големи данни

GeoJSON работи отлично за малки и средни области (до 50 km²). За големи територии:

Инструменти за работа с GeoJSON

← Всички ръководства