gribnoysup / react-yandex-maps

Yandex Maps API bindings for React
MIT License
328 stars 116 forks source link

Как сделать режим навигатора при клике кнопку с текущим местоположением #291

Closed gadzhimari closed 2 years ago

gadzhimari commented 3 years ago

Можно ли в принципе при клике на точку с моим текущим местоположением сделать постоянно обновляемой для возможности постоянного трекинга того, где я в данный момент нахожусь. Типа что-то похожее на навигатор. Если способ как-то достучаться до точки "Я" на карте? 2021-03-02_22-37-39

mmarkelov commented 3 years ago

@gadzhimari привет! Не уверен что апи Яндекс карт позволяет трекать позицию пользователя. Возможно можно использовать setInterval, но я крайне не уверен что это законно) И лучше так не делать. Как вариант можно попробовать watchPosition:

useEffect(() => {
    const success = ({ coords }) => {
      const { latitude, longitude } = coords;
      setCoords([latitude, longitude]);
    };

    const error = (err) => {
      console.warn(err.message);
    };

    const options = {
      enableHighAccuracy: true,
      timeout: 5000,
      maximumAge: 0
    };

    const id = navigator.geolocation.watchPosition(success, error, options);

    return () => {
      navigator.geolocation.clearWatch(id);
    };
  }, []);