Я не могу отобразить свои данные на карте. Файл geojson огромен, поэтому я загружаю его из внешнего источника. Мой файл index.html выглядит так
<div id='map'></div>
<script>
mapboxgl.accessToken = 'pk.eyJ1Ijoic2VhbmRyYWFkbG96ZSIsImEiOiJjajA3cW1pOTcwMDA5Mndvd2hicHlmNWc1In0.7bt7sPXDoymYJyVDvVmqZw';
var map = new mapboxgl.Map({
container: 'map', // container id
style: 'mapbox://styles/seandraadloze/cj1dcc3ho00f82smkvjxp4frb', //hosted style id
center: [24.530,-32.254], // starting position
zoom: 14.5 // starting zoom
});
var url = 'http://bestersurveys.co.za/htmlsite/quintin.geojson';
var source = new map.addSource()({
data: url
});
window.setInterval(function() {
source.setData(url);
}, 1000);
map.on('style.load', function() {
map.addSource("markers", source);
map.addLayer({
"id": "markers",
"type": "circle",
"visibility": "visible",
"source": "markers",
"paint": {
"circle-radius": 0.2,
"circle-color": "#f3f3f3"
}
});
});
</script>
</body>
</html>
Я получаю эту ошибку из консоли
map.js:895 Uncaught TypeError: Cannot read property 'addSource' of undefined
at new e.addSource (map.js:895)
at maptest.html:27
Вы можете проверить карту здесь - http://bestersurveys.co.za/htmlsite/maptest.html
Может ли кто-нибудь сказать мне, где я ошибаюсь?
Спасибо
Шон
var source = new map.addSource()({
. Удалите новое ключевое слово. - person Douwe de Haan   schedule 12.04.2017map.on('style.load'
может решить проблему, поэтому ваш код запускается, как только стили загружаются. - person Douwe de Haan   schedule 12.04.2017