Что такое геохешинг?

Geohash - это система геокодирования, изобретенная Густаво Нимейером, которая позволяет нам узнать, в какой области на карте находится пользователь. Пользователь может находиться где угодно в этой области, он не обязательно находится в центре области.

Это действительно полезно, поскольку широта и долгота представляют только одну точку на карте, а геохеш описывает фиксированную область.

Мы можем изменить размер области, указав количество символов в хеш-коде от 1 до 10. Внизу слева направо мы можем видеть область геохеширования для 1, 2 и 3 символьных хешей.

Стоит отметить, что в приведенном выше примере все они начинаются с «9», вторым символом является «q», а третьим - «8». ”.

Геохеширование также может использоваться для обеспечения некоторой степени анонимности, поскольку нам не нужно раскрывать точное местоположение пользователя, в зависимости от длины геохеша, мы просто знаем, что они находятся где-то в пределах области.

Мы также можем использовать это, чтобы узнать, когда 2 пользователя находятся близко друг к другу, давайте рассмотрим этих 2 пользователей, показанных ниже, каждый из которых представлен 9-значным геохешем. Девять цифр очень точны, они позволяют нам знать, что они находятся где-то в пределах 16 футов квадрата (4,7 метра).

Эти два пользователя находятся в области «9q8», один - в «9q8y», а один - в «9q8z».

Мы можем увидеть размер каждой длины Geohash ниже. и интерактивная карта с указанием областей здесь

Как мы выясняем, в каком геохеше находится пользователь, начинается с знания широты и долготы пользователя. Когда мы запрашиваем у пользователя их местоположение, пользователь должен утвердить запрос, прежде чем мы получим их местоположение.

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

Простая функция для получения широты и долготы пользователя выглядит так ...

Остальную информацию о том, как генерируется хеш, мы могли бы продолжить исследование, или мы могли бы сэкономить время и поверить, что кто-то другой уже понял это и опубликовал пакет, который мы можем просто использовать, зная, что сообщество людей провело аудит. код, найдены и исправлены ошибки.



Включение вышеизложенного позволяет нам просто использовать

Geohash.encode(lat, lon, [precision])

Запросы пользователя об их местонахождении сразу после загрузки домашней страницы наказываются Маяком. Lighthouse - это автоматизированный инструмент с открытым исходным кодом для улучшения качества веб-страниц от Google. Получение 90+ процентной оценки быстро становится современным стандартом для всех веб-сайтов.

Ответственное использование

Запрос и получение географического положения пользователя влечет за собой определенную ответственность. Использование геохеширования соответствующей длины обеспечивает пользователю некоторую защиту, но мы, как разработчики, можем передавать только требуемую длину, а не точное местоположение пользователя.

Было бы рекомендовано добавить что-то подобное к вашим условиям и положениям.

Конфиденциальность пользователей чрезвычайно важна для нас на ‹введите свое имя›. Координаты местоположения собираются только после того, как пользователь согласился использовать эту услугу.

Если применяется контент с возрастным ограничением, вы должны указать, что пользователю должно быть не менее 18 лет для доступа к услуге.

Координаты местоположения (долгота, широта и радиус) будут получены ТОЛЬКО при выполнении условий согласия, и пользователи автоматически отключаются после того, как попытка их определения была завершена. Точные данные о местоположении не сохраняются, геохеширование до уровня 4, которое помещает их где-то в пределах 39 км x 19 км, сохраняется и передается другим пользователям.