@viewModel XXX.ViewModels.MobileMapViewModel, XXX
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
<title>Display a map</title>
<script src='https://api.tiles.mapbox.com/mapbox-gl-js/v1.0.0/mapbox-gl.js'></script>
<link href='https://api.tiles.mapbox.com/mapbox-gl-js/v1.0.0/mapbox-gl.css' rel='stylesheet' />
<style>
body {
margin: 0;
padding: 0;
}
#map {
position: absolute;
top: 0;
bottom: 0;
width: 100%;
}
</style>
</head>
<body>
<h1>Test</h1>
<div ID='map'></div>
<script Dependencies="mapbox-js">
dotvvm.events.init.subscribe(() => {
mapboxgl.accessToken = dotvvm.viewModels.root.viewModel.Token();
lat = dotvvm.viewModels.root.viewModel.Latitude();
lng = dotvvm.viewModels.root.viewModel.Longitude();
if (!mapboxgl.supported()) {
alert('Your mobile device does not support Mapbox GL');
}
else {
var map = new mapboxgl.Map({
container: 'map', // container id
style: 'mapbox://styles/mapbox/streets-v11', // stylesheet location
center: [lng, lat], // starting position [lng, lat]
zoom: 13 // starting zoom
});
var marker = new mapboxgl.Marker()
.setLngLat([lng, lat])
.addTo(map);
}
})
</script>
<dot:RequiredResource Name="mapbox-js" />
</body>
</html>