Create an event on marker popup
Switch to another map style. See the example: https://docs.mapbox.com//mapbox-gl-js/example/setstyle/
by jscastro76
HTML
<script src="https://api.mapbox.com/mapbox-gl-js/v1.11.1/mapbox-gl.js"></script>
<link rel="stylesheet" href="https://api.mapbox.com/mapbox-gl-js/v1.11.1/mapbox-gl.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<div id="map"></div>
CSS
body { margin: 0; padding: 0; }
#map { position: absolute; top: 0; bottom: 0; width: 100%; }
JavaScript
mapboxgl.accessToken = 'PASTE HERE YOUR TOKEN';
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v11',
center: [-73.99594, 40.680975],
zoom: 17
});
map.on('style.load', function() {
map.on('click', function(e) {
let l = map.getStyle().layers;
var features = map.queryRenderedFeatures(e.point, {
layers: ['poi-label', 'transit-label', 'landuse', 'national-park']
});
let marker = new mapboxgl.Marker({
draggable: true
})
.setLngLat(e.lngLat)
.setPopup(new mapboxgl.Popup({
offset: 25
}) // add popups
.setHTML('<h3>Actions</h3><i class="fas fa-plus-circle"></i> <button type="button" class="btnDelete" onclick="clicked()" >delete</button>'));
marker.addTo(map);
marker.togglePopup();
});
});
function clicked() {
console.log("deleted");
}