#javascript #mapbox-gl-js
Вопрос:
Я использую Mapbox gl js на веб-сайте, чтобы показать карту safari. Я создал свою учетную запись mapbox и свой токен API, и у меня возникла ошибка браузера:
Ошибка безопасности: Операция небезопасна. cecb579d-d0ad-424a-9e7d-bf4c7353d904:1
Если я попытаюсь открыть исходный отладочный большой двоичный объект, я получу пустую страницу 🙁
Thx заранее
вот код:
<html lang="it">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src='https://api.mapbox.com/mapbox-gl-js/v2.3.1/mapbox-gl.js'></script>
<link href='https://api.mapbox.com/mapbox-gl-js/v2.3.1/mapbox-gl.css' rel='stylesheet' />
<script src="https://unpkg.com/@turf/turf@6/turf.min.js"></script>
</head>
<body>
<div id="map"></div>
<div class="overlay">
<button id="replay">Replay</button>
</div>
<!-- here i used the defoult API key -->
<script>
mapboxgl.accessToken = 'pk.eyJ1IjoiYWxleDk1IiwiYSI6ImNrcTRlajRrajE3cnIydnFyMGMwN3cyeG4ifQ.jU5odECEGnFPWjflz37KhA';
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v11',
center: [36, -1],
zoom: 7.3
});
// 1 Nairobi, Kenya
var marker1 = new mapboxgl.Marker({
color: "#737C56",
draggable: false
})
.setLngLat([36.70, -1.30])
.setPopup(new mapboxgl.Popup({
className: 'pop-up',
closeButton: false,
closeOnClick: true
})
.setText('Nairobi, Kenya'))
.addTo(map);
// 2 The Great Rift Valley View Point, B 3, Kenya
var marker2 = new mapboxgl.Marker({
color: "#737C56",
draggable: false
})
.setLngLat([36.58, -1.08])
.setPopup(new mapboxgl.Popup({
className: 'pop-up',
closeButton: false,
closeOnClick: true
})
.setText('The Great Rift Valley View Point, B 3, Kenya'))
.addTo(map);
[...]
</script>
</body>
<html> ```
Комментарии:
1. Вы пробовали добавлять в свой проект только карту без добавления этих маркеров?
2. пока нет, я собираюсь попробовать. Это очень много
Ответ №1:
Я удалил некоторые скрипты из вашего кода, и, похоже, он работает нормально. пожалуйста, перейдите по этой ссылке
<html lang="it">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src='https://api.mapbox.com/mapbox-gl-js/v2.3.1/mapbox-gl.js'></script>
<link href='https://api.mapbox.com/mapbox-gl-js/v2.3.1/mapbox-gl.css' rel='stylesheet' />
</head>
<body>
<div id="map"></div>
<div class="overlay">
<button id="replay">Replay</button>
</div>
<!-- here i used the defoult API key -->
<script>
mapboxgl.accessToken = 'pk.eyJ1IjoiYWxleDk1IiwiYSI6ImNrcTRlajRrajE3cnIydnFyMGMwN3cyeG4ifQ.jU5odECEGnFPWjflz37KhA';
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v11',
center: [36, -1],
zoom: 7.3
});
// 1 Nairobi, Kenya
var marker1 = new mapboxgl.Marker({
color: "#737C56",
draggable: false
})
.setLngLat([36.70, -1.30])
.setPopup(new mapboxgl.Popup({
className: 'pop-up',
closeButton: false,
closeOnClick: true
})
.setText('Nairobi, Kenya'))
.addTo(map);
// 2 The Great Rift Valley View Point, B 3, Kenya
var marker2 = new mapboxgl.Marker({
color: "#737C56",
draggable: false
})
.setLngLat([36.58, -1.08])
.setPopup(new mapboxgl.Popup({
className: 'pop-up',
closeButton: false,
closeOnClick: true
})
.setText('The Great Rift Valley View Point, B 3, Kenya'))
.addTo(map);
</script>
</body>
<html>
Комментарии:
1. Спасибо за ваш ответ, Макс. Я вижу, что вы удалили js turf, но на самом деле я все еще вижу предупреждение об ошибке браузера: Операция небезопасна. Это связано с ключом API по умолчанию или в моем коде чего-то еще не хватает? Прошу вас заранее за вашу драгоценную помощь. Эмануэле