Получить гео координаты пользователя без запроса разрешения
Как запрашивать координаты пользователя, но чтобы без уведомления?
Я пробовал и через апи яндекс карт сделать
const position = await ymaps3.geolocation.getPosition();
curLong = position.coords[0];
curLat = position.coords[1];
И через Geolocation API
let curLong, curLat;
await new Promise((resolve, reject) => {
navigator.geolocation.getCurrentPosition(
function (position) {
curLong = position.coords.longitude;
curLat = position.coords.latitude;
resolve(); // Геолокация
},
function (error) {
reject(error); // Если произошла ошибка
}
);
});
Но все равно выходит уведомление от браузера, что требуется геолокация.
Как получить координаты без запроса разрешения? https://pack24.ru/dostavka Здесь как-то реализовано, карта получается координаты мои текущие
Ответы (2 шт):
Если нужны координаты без разрешения к геолокации, то можете рассмотреть сервис Локатор, где для определения местоположения требуется только доступ к интернету.
В сервисе JavaScript API такой возможности нет.
Как получить координаты без запроса разрешения? - никак.
Тут @Grundy прав на 100%, - Никак и не при каких условиях. Нет в данном вопросе не каких "Но".
Вы настройки сайта то смотрели?
Pack24 использует API яндекса и Гугла, и если яндекс или Гугл уже получил разрешение на получение гео данных, повторного запроса может и не быть. Опять же, не всегда, не везде, не для всех, и только при условии, что это веб сайт.
Единственный способ получения гео данных клиента без его ведома, это его IP. Точность таких данных оставляет желать лучшего. С текущего IP, меня определяет в Домодедово, хотя нахожусь на Дмитровской. Страну, город, - Да, отличное решение. Что то более точное, не выйдет
Если запрос гео данных по IP устраивает, загляните в англоязычную ветку "How to get client's IP address using JavaScript?". Там десятки примеров.
P.S. Если ваша цель копирование или воспроизведение функционала чего либо, то нужно это "чего либо" досконально изучить. И пользоваться принципами обратного инжиниринга.
