Прежде всего, я бы порекомендовал вам не передавать свой токен доступа. Другие могут использовать его, и вам будет выставлен счет. Поскольку вы уже поделились им, вероятно, неплохо бы отключить его.
У меня есть несколько комментариев к вашему коду:
- Вы добавляете источник. Чтобы отобразить его на карте, вам необходимо создать для него слой и добавить его на карту.
map.addSource ('worldcities_points', {type: 'geo json ', данные:' https://github.com/jankomag/worldcitiespopchange/blob/master/readycities_geojson.geojson '});
-> Чтобы добавить его в качестве слоя:
// Add a layer showing the places.
map.addLayer({
'id': 'worldcities_points',
'type': 'symbol',
'source': 'worldcities_points',
'layout': {
'icon-image': '{icon}-15',
'icon-allow-overlap': true
}
});
Вы можете попытаться добавить всплывающие окна на карту после того, как вы создали их для своих объектов:
// Create a popup, but don't add it to the map yet.
var popup = new mapboxgl.Popup({
closeButton: false,
closeOnClick: false
});
// Open the popup when mouse hover over the position of the object
map.on('mouseenter', 'places', function(e) {
// Change the cursor style as a UI indicator.
map.getCanvas().style.cursor = 'pointer';
var coordinates = e.features[0].geometry.coordinates.slice();
var description = e.features[0].properties.description;// assuming your source geoJSON contains properties.descriptions
// Ensure that if the map is zoomed out such that multiple
// copies of the feature are visible, the popup appears
// over the copy being pointed to.
while (Math.abs(e.lngLat.lng - coordinates[0]) > 180) {
coordinates[0] += e.lngLat.lng > coordinates[0] ? 360 : -360;
}
// Populate the popup and set its coordinates
// based on the feature found.
popup
.setLngLat(coordinates)
.setHTML(description)
.addTo(map);
});
// remove the popup when the mouse leaves the position of the object
map.on('mouseleave', 'places', function() {
map.getCanvas().style.cursor = '';
popup.remove();
});
Это должно заставить вас всплывающие окна! Дайте мне знать, если у вас есть вопросы!