2016-12-01 11 views
0

Здесь м добавления плитки созданы при размолвкеКак добавить мозаичный слой на карту с помощью mapboxgl.js

mapboxgl.accessToken ='pk.eyJ1IjoiZ2F1cmF2Y2F0c3RlY2giLCJhIjoiY2l1cGo0MTl4MDAxajJ1bng5a2xieTY0diJ9.0fDXNulI91U85ngSc4jGCg'; 
var map = new mapboxgl.Map({ 
    container: 'map', 
    style: 'mapbox://styles/mapbox/light-v9', 
    zoom: 13, 
    center: [-122.447303, 37.753574] 
}); 

map.on('load', function() { 
    map.addSource('terrain-data', { 
    type: 'raster', 
    url:'mapbox://gaurav.2on6cgzq' 
    }); 
    map.addLayer({ 
    "id": "terrain-data", 
    "type": "line", 
    "source": "terrain-data", 
    "source-layer": "contour", 
    "layout": { 
     "line-join": "round", 
     "line-cap": "round" 
    }, 
    "paint": { 
     "line-color": "#ff69b4", 
     "line-width": 1 
    } 
    }); 
}); 

Я получаю:

Error: Source layer "contour" does not exist on source "terrain-data" as specified by style layer "terrain-data"

+0

Мне любопытно, почему вы предпочитаете использовать растр вместо вектора. Попытаетесь ли вы использовать пользовательский стиль или, возможно, сохранить некоторую память? –

ответ

2

Я не считаю, что "source-layer": "contour" применяется для растровых источников бы то ни было. См. https://www.mapbox.com/mapbox-gl-js/example/map-tiles/ Так что избавитесь от этой линии. Похоже, вам понадобится опция "tileSize": 256, также включенная в исходный код.

Также ваши варианты макета и краски также будут ненужными. Это варианты для векторных или геоионных источников. Эти типы элементов управления недоступны на растре.

0

Самый простой способ - просто отредактировать слой плитки в Mapbox Studio, а затем загрузить его в mapbox.js. Таким образом, все, что вам нужно сделать, это предоставить ссылку на стиль в качестве источника (у Mapbox есть TON документации для этого).

 Смежные вопросы

  • Нет связанных вопросов^_^