mirror of
https://github.com/mapillary/mapillary-js.git
synced 2026-01-18 13:56:53 +00:00
122 lines
3.6 KiB
HTML
122 lines
3.6 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
|
|
<head>
|
|
<title>MapillaryJS</title>
|
|
<link rel="icon" href="data:,">
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
|
|
|
|
<link rel="stylesheet" href="dist/mapillary.css" />
|
|
<script src="dist/mapillary.js"></script>
|
|
|
|
<style>
|
|
body {
|
|
margin: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
html,
|
|
body {
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
|
|
#mly {
|
|
width: 90%;
|
|
height: 90%;
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
<div id="mly"></div>
|
|
<button onclick="viewer.activateCover()">Activate Cover</button>
|
|
<button onclick="viewer.deactivateCover()">Deactivate Cover</button>
|
|
<br>
|
|
<button onclick="play()">Play</button>
|
|
<button onclick="stop()">Stop</button>
|
|
<button onclick="showSlider()">Show Slider</button>
|
|
<button onclick="hideSlider()">Hide Slider</button>
|
|
<button onclick="letterbox()">Letterbox</button>
|
|
<button onclick="fill()">Fill</button>
|
|
<button onclick="setFilter()">Filter</button>
|
|
<button onclick="remove()">Remove</button>
|
|
<script>
|
|
const sup = Mapillary.isSupported();
|
|
const fSup = Mapillary.isFallbackSupported();
|
|
console.log(`isSupported: ${sup}, isFallbackSupported: ${fSup}`);
|
|
|
|
const viewer = new Mapillary.Viewer({
|
|
apiClient: "QjI1NnU0aG5FZFZISE56U3R5aWN4ZzpkYzg0NzE3MDA0YTRhZjlh",
|
|
component: { cover: false },
|
|
container: "mly",
|
|
imageId: "zarcRdNFZwg3FkXNcsFeGw",
|
|
renderMode: Mapillary.RenderMode.Letterbox,
|
|
});
|
|
|
|
window.addEventListener("resize", function () { viewer.resize(); });
|
|
|
|
function letterbox() {
|
|
viewer.setRenderMode(Mapillary.RenderMode.Letterbox);
|
|
}
|
|
|
|
function fill() {
|
|
viewer.setRenderMode(Mapillary.RenderMode.Fill);
|
|
}
|
|
|
|
function remove() { viewer.remove(); }
|
|
|
|
let filterIndex = 0;
|
|
const filters = [
|
|
[],
|
|
["==", "cameraType", "equirectangular"],
|
|
["==", "sequenceKey", "s5I5m7BvYykB677MpFnOIw"],
|
|
["in", "sequenceKey", "s5I5m7BvYykB677MpFnOIw", "-aC4wx-8oOkCp6SFGXoyAg"],
|
|
[
|
|
"all",
|
|
[">=", "capturedAt", 1370509079741 - 24 * 60 * 60 * 1000],
|
|
["<=", "capturedAt", 1370509079741 + 24 * 60 * 60 * 1000],
|
|
],
|
|
];
|
|
|
|
function setFilter() {
|
|
filterIndex = (filterIndex + 1) % filters.length;
|
|
viewer.setFilter(filters[filterIndex]).then(
|
|
function (n) {
|
|
console.log("filter", filters[filterIndex]);
|
|
});
|
|
}
|
|
|
|
const sequenceComponent = viewer.getComponent("sequence");
|
|
|
|
function play() {
|
|
viewer.deactivateComponent("cache");
|
|
sequenceComponent.play();
|
|
}
|
|
|
|
function stop() {
|
|
viewer.activateComponent("cache");
|
|
sequenceComponent.stop();
|
|
}
|
|
|
|
function showSlider() {
|
|
viewer.activateComponent("slider");
|
|
viewer.deactivateComponent("imagePlane");
|
|
viewer.deactivateComponent("direction");
|
|
viewer.deactivateComponent("sequence");
|
|
viewer.deactivateComponent("keyboard");
|
|
}
|
|
|
|
function hideSlider() {
|
|
viewer.activateComponent("imagePlane");
|
|
viewer.activateComponent("direction");
|
|
viewer.activateComponent("sequence");
|
|
viewer.activateComponent("keyboard");
|
|
viewer.deactivateComponent("slider");
|
|
}
|
|
</script>
|
|
</body>
|
|
|
|
</html>
|