I'm using lealfetknn to search the nearest geojson element from the user location. I add a map.locate method that zoom to the user location. The response time is longer than when I directly use it... why ?
var gjLayer = L.geoJson(geoJsonData); document.getElementById('button').onclick = function() {navigator.geolocation.getCurrentPosition(function(pos){ var res = leafletKnn(gjLayer).nearest( [pos.coords.longitude, pos.coords.latitude], 1); if (res.length) { document.getElementById('button').innerHTML = 'The nearest element is at '+ res[0].layer.feature.properties.cityname; map.locate({setView: true}); } else { document.getElementById('button').innerHTML = 'error'; } }); };
أكثر...
var gjLayer = L.geoJson(geoJsonData); document.getElementById('button').onclick = function() {navigator.geolocation.getCurrentPosition(function(pos){ var res = leafletKnn(gjLayer).nearest( [pos.coords.longitude, pos.coords.latitude], 1); if (res.length) { document.getElementById('button').innerHTML = 'The nearest element is at '+ res[0].layer.feature.properties.cityname; map.locate({setView: true}); } else { document.getElementById('button').innerHTML = 'error'; } }); };
أكثر...