Добавление моего собственного стиля не работает в MapBox Javascript - PullRequest
0 голосов
/ 23 сентября 2019

В предыдущем вопросе кто-то спрашивал о наложениях изображений со стилями карты:

Как добавить простое наложение изображений в Mapbox Javascript?

Я получил егоработать с их примером, но я хочу использовать свой собственный стиль.

Вот ссылка на мой стиль карты .

Это стиль, который они используют, который работает:

mapbox: // styles / mapbox / satellite-v9

Это мой стиль, он не работает:

mapbox: // styles / nittyjee / ck0fasve30an21cpalmwct518

Ниже приведен код, который работает, вы можете запустить его самостоятельно.Мой стиль закомментирован.

<!DOCTYPE html>
<html>

<head>
    <meta charset='utf-8' />
    <title>Add an image</title>
    <meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
    <script src='https://api.tiles.mapbox.com/mapbox-gl-js/v0.45.0/mapbox-gl.js'></script>
    <link href='https://api.tiles.mapbox.com/mapbox-gl-js/v0.45.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.eyJ1Ijoibml0dHlqZWUiLCJhIjoid1RmLXpycyJ9.NFk875-Fe6hoRCkGciG8yQ';


        var map = new mapboxgl.Map({
            container: 'map',
            maxZoom: 5.99,
            minZoom: 4,
            zoom: 5,
            center: [-75.789, 41.874],
            //Style from Stack Overflow:
            style: 'mapbox://styles/mapbox/satellite-v9'
            //My style does not work:
            //style: 'mapbox://styles/nittyjee/ck0fasve30an21cpalmwct518'
        });

        map.on('load', function() {
            map.addSource("myImageSource", {
                "type": "image",
                "url": "https://docs.mapbox.com/mapbox-gl-js/assets/radar.gif",
                
                "coordinates": [
                    [-80.425, 46.437],
                    [-71.516, 46.437],
                    [-71.516, 37.936],
                    [-80.425, 37.936]
                ]
            });

            map.addLayer({
                "id": "overlay",
                "source": "myImageSource",
                "type": "raster",
                "paint": {
                "raster-opacity": 0.85
                }
            });
        });
    </script>

</body>

</html>

Ответы [ 3 ]

2 голосов
/ 24 сентября 2019

Вам нужно увеличить версию mapbox-gl.Вы используете более старый SDK.

Измените определение скрипта / CSS следующим образом:

<script src='https://api.tiles.mapbox.com/mapbox-gl-js/v1.3.1/mapbox-gl.js'></script>
<link href='https://api.tiles.mapbox.com/mapbox-gl-js/v1.3.1/mapbox-gl.css' rel='stylesheet' />
0 голосов
/ 23 сентября 2019

Когда вы в студии, глядя на свой стиль, вы можете нажать Share в верхнем правом углу.

share button

Затем изтам вы должны увидеть панель с разделом Your style url.Если вы скопируете эту ссылку и вставите ее в свой код, ваш стиль должен проявиться.

your style url

Вы также можете нажать на 3 точки в соответствии со своим стилем и скопировать идентификатор стиля в нижней части появившейся панели:

dots

panel

0 голосов
/ 23 сентября 2019

Это не похоже на URL-адрес стиля https://docs.mapbox.com/help/glossary/style-url/

Вам нужно создать стиль в Mapbox Studio и получить идентификатор стиля.

...