Я хочу нарисовать метки вдоль линий / многоугольников в Mapbox.
Я начал проектировать карту в Maputnik, инструменте с открытым исходным кодом. Вот что я получил от Мапутника и был вполне доволен.
Затем я переместил стиль в клиент mapbox, и, к моему удивлению, разрывы строк / новые строки с меток исчезли. Вот как это сделать:
После дальнейшего тестирования я обнаружил, что это происходит только в том случае, если я размещаю метки на линиях (размещение = строка). Это также происходит, если я пытаюсь жестко закодировать некоторую фиктивную метку в любом месте исходного кода (даже в части JS / HTML).
Как мне добиться разрывов строк вдоль линий? Возможно, это ошибка в клиенте Mapbox?
Вот JSFiddle:
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8' />
<meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
<script src='https://api.tiles.mapbox.com/mapbox-gl-js/v0.48.0/mapbox-gl.js'></script>
<link href='https://api.tiles.mapbox.com/mapbox-gl-js/v0.48.0/mapbox-gl.css' rel='stylesheet' />
<style>
body { margin:0; padding:0; }
#map { position:absolute; top:0; bottom:0; width:100%; }
</style>
</head>
<body>
<div id='map'></div>
<script>
mapboxgl.accessToken = 'pk.eyJ1IjoibmF2aXRlciIsImEiOiIwZHRiWWtJIn0.itdakaDQ3RGb3cNeEOjdfw';
var map = new mapboxgl.Map({
container: 'map',
style: 'https://gist.githubusercontent.com/srmanc/9d6e3c06591d93d9d3432ae01dfbcbe4/raw/e4383b7a8403305a5cb683e5390c1e82beb3bcb0/style.json',
center: [-68.13734351262877, 45.137451890638886],
zoom: 5
});
</script>
</body>
</html>
https://jsfiddle.net/srmanc/L6g07fmw/6/
А вот (правильный) рендер в Мапутнике:
https://maputnik.github.io/editor/?style=https://gist.githubusercontent.com/srmanc/9d6e3c06591d93d9d3432ae01dfbcbe4/raw/e4383b7a8403305a5cb683e5390c1e82beb3bcb0/style.json#5.49/44.853/-67.81
Если верхняя ссылка не работает, вы можете воспроизвести это поведение, перейдя на maputnik.github.io/editor и загрузив стиль отсюда:
Стиль json (такой же, как в JSFiddle):
https://gist.githubusercontent.com/srmanc/9d6e3c06591d93d9d3432ae01dfbcbe4/raw/e4383b7a8403305a5cb683e5390c1e82beb3bcb0/style.json
Geojson (так же, как в Style json, если необходимо):
https://gist.githubusercontent.com/srmanc/2d48dd35780e5995daa83d7a4e00b854/raw/296de1c6f7534eaf8933bcd6858d19128a26d4d8/polygon.geojson
Я не верю, что это несоответствие версий, я перепробовал много комбинаций, и ни одна из них не сработала. Я сомневаюсь, что это проблема экспорта стиля, потому что я пытался жестко кодировать стиль и геойсон в JS - он тоже не работал.
Любые мысли приветствуются.