как я могу получить мою реальную геопозицию в листовке

#django #leaflet #django-leaflet

#django #листовка #django-листовка

Вопрос:

Я новичок в geodjango и использую листовку для отображения карты в шаблоне, когда я нахожу свою позицию на карте, она показывает мне несколько метров от точки, но мне нужна реальная позиция, пожалуйста, помогите

 // placeholders for the L.marker and L.circle representing user's current position and accuracy    
        var current_position, current_accuracy;

        function onLocationFound(e) {
          // if position defined, then remove the existing position marker and accuracy circle from the map
          if (current_position) {
              map.removeLayer(current_position);
              map.removeLayer(current_accuracy);
          }
    
          var radius = e.accuracy / 2;
    
          current_position = L.marker(e.latlng).addTo(map)
            .bindPopup("You are within "   radius   " meters from this point, Lt: " e.latlng).openPopup();
    
          current_accuracy = L.circle(e.latlng, radius).addTo(map);
        }
    
        function onLocationError(e) {
          alert(e.message);
        }
    
        map.on('locationfound', onLocationFound);
        map.on('locationerror', onLocationError);
    
        // wrap map.locate in a function    
        function locate() {
          map.locate({setView: true, maxZoom: 16});
        }
    
        // call locate every 3 seconds... forever
        setInterval(locate, 3000);
  

это скриншот
введите описание изображения здесь

Комментарии:

1. Вы не получите точных данных с гражданскими устройствами. GPS имеет допуск 10-20 метров. Это зависит от места, в котором вы находитесь, комнат, крупных городов, количества пойманных спутников и даже используемого вами устройства. На телефоне вы можете немного улучшить результаты и повысить точность GPS, по крайней мере, в Android есть такая опция, но это происходит за счет разряда батареи. Если вы используете Android, найдите приложение gps в магазине Google. Вы будете знать, сколько спутников летит рядом с вами. Чтобы исправить исправление, вам нужно как минимум 3 сальтелита, чем больше, тем лучше.

2. Обновление: вы также можете использовать высокую точность в своем коде — enableHighAccuracy: верно, но, как я писал выше, разрядка батареи очень велика.