Enable high accuracy for watchPosition, possible fix for #444

This commit is contained in:
Pieter Vander Vennet 2021-07-26 09:46:54 +02:00
parent 088dad3b5c
commit df6a6bbbde

View file

@ -1,11 +1,11 @@
import * as L from "leaflet"; import * as L from "leaflet";
import { UIEventSource } from "../UIEventSource"; import {UIEventSource} from "../UIEventSource";
import { Utils } from "../../Utils"; import {Utils} from "../../Utils";
import Svg from "../../Svg"; import Svg from "../../Svg";
import Img from "../../UI/Base/Img"; import Img from "../../UI/Base/Img";
import { LocalStorageSource } from "../Web/LocalStorageSource"; import {LocalStorageSource} from "../Web/LocalStorageSource";
import LayoutConfig from "../../Customizations/JSON/LayoutConfig"; import LayoutConfig from "../../Customizations/JSON/LayoutConfig";
import { VariableUiElement } from "../../UI/Base/VariableUIElement"; import {VariableUiElement} from "../../UI/Base/VariableUIElement";
export default class GeoLocationHandler extends VariableUiElement { export default class GeoLocationHandler extends VariableUiElement {
/** /**
@ -148,7 +148,7 @@ export default class GeoLocationHandler extends VariableUiElement {
const map = self._leafletMap.data; const map = self._leafletMap.data;
const newMarker = L.marker(location.latlng, { icon: icon }); const newMarker = L.marker(location.latlng, {icon: icon});
newMarker.addTo(map); newMarker.addTo(map);
if (self._marker !== undefined) { if (self._marker !== undefined) {
@ -168,7 +168,7 @@ export default class GeoLocationHandler extends VariableUiElement {
try { try {
navigator?.permissions navigator?.permissions
?.query({ name: "geolocation" }) ?.query({name: "geolocation"})
?.then(function (status) { ?.then(function (status) {
console.log("Geolocation is already", status); console.log("Geolocation is already", status);
if (status.state === "granted") { if (status.state === "granted") {
@ -256,6 +256,9 @@ export default class GeoLocationHandler extends VariableUiElement {
}, },
function () { function () {
console.warn("Could not get location with navigator.geolocation"); console.warn("Could not get location with navigator.geolocation");
},
{
enableHighAccuracy: true
} }
); );
} }