nakarte

Source code of https://map.sikmir.ru (fork)
git clone git://git.sikmir.ru/nakarte
Log | Files | Refs | LICENSE

commit f7de119be91599da91a3c9ef7e0bf2ba29a4c2f5
parent 1a9b96ba15222f9ec2246587506965406a2179ea
Author: Sergej Orlov <wladimirych@gmail.com>
Date:   Tue,  3 Dec 2019 12:14:54 +0100

lint: fix "Possible race condition" errors

Diffstat:
Msrc/lib/leaflet.control.panoramas/index.js | 2+-
Msrc/lib/leaflet.control.panoramas/lib/wikimedia/index.js | 7++++---
2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/lib/leaflet.control.panoramas/index.js b/src/lib/leaflet.control.panoramas/index.js @@ -218,7 +218,7 @@ L.Control.Panoramas = L.Control.extend({ } L.DomUtil.addClass(provider.container, 'enabled'); if (!provider.viewer) { - provider.viewer = await provider.provider.getViewer(provider.container); + provider.viewer = await provider.provider.getViewer(provider.container); // eslint-disable-line require-atomic-updates this.setupViewerEvents(provider); } if (data) { diff --git a/src/lib/leaflet.control.panoramas/lib/wikimedia/index.js b/src/lib/leaflet.control.panoramas/lib/wikimedia/index.js @@ -97,6 +97,8 @@ function isCloser(target, a, b) { } async function getPanoramaAtPos(latlng, searchRadiusMeters) { + latlng = L.latLng(latlng.lat, latlng.lng); // make independent copy + const clusterSize = 10; const urlTemplate = 'https://commons.wikimedia.org/w/api.php?' + 'origin=*&format=json&action=query&generator=geosearch&' + @@ -117,10 +119,9 @@ async function getPanoramaAtPos(latlng, searchRadiusMeters) { if (resp.status === 200) { let photos = parseSearchResponse(resp.responseJSON); if (photos) { - latlng = L.latLng(latlng.lat, latlng.lng); photos.sort(isCloser.bind(null, latlng)); - latlng = L.latLng(photos[0].lat, photos[0].lng); - photos = photos.filter((photo) => latlng.distanceTo(L.latLng(photo.lat, photo.lng)) <= clusterSize, latlng); + const nearestLatlng = L.latLng(photos[0].lat, photos[0].lng); + photos = photos.filter((photo) => nearestLatlng.distanceTo(L.latLng(photo.lat, photo.lng)) <= clusterSize); return { found: true, data: photos