You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

68 lines
1.6 KiB
JavaScript

/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
var userPositionIsReal = false;
var userposition = {
coords: {
latitude: 46.595,
longitude: -112.019,
accuracy: 10000
}
};
var leafletmap = L.map('map', {
minZoom: 12,
maxZoom: 20
});
leafletmap.attributionControl.setPrefix("");
var leafletgllayer = L.mapboxGL({
attribution: "© OpenMapTiles © OpenStreetMap contributors",
accessToken: 'none',
style: SETTINGS["map_style_json"],
pitch: 0
});
leafletgllayer.addTo(leafletmap);
function recenterMapPosition() {
var zoom = 13;
if (userposition.coords.accuracy < 1000) {
zoom = 15;
}
leafletmap.setView([userposition.coords.latitude, userposition.coords.longitude], zoom);
}
function recenterMapToUserPosition() {
if (userPositionIsReal == false) {
getLocation(function (position) {
userposition = position;
userPositionIsReal = true;
recenterMapPosition();
});
} else {
recenterMapPosition();
}
}
// Attempt to get user location
watchLocation(function (position) {
userposition = position;
if (userPositionIsReal == false) {
recenterMapPosition();
userPositionIsReal = true;
}
});
// Set map to default position
recenterMapPosition();
// Load nearby
updateMap();
// Watch for map moving
leafletmap.on("moveend", function () {
updateMap();
});