Карты Google, кажется, могут делать это довольно хорошо, предположительно используя моего интернет-провайдера. Как это делается? Можно ли подключиться к Google Maps или какой-либо другой базе данных, чтобы узнать, где находится пользователь? (В пределах 1 км?)
Как извлечь местоположение из Windows с помощью С#?
Ответы (3)
Это делается с помощью базы данных GEOIP.
Этим бизнесом занимается компания под названием Maxmind. Есть платные базы и бесплатные базы (последние, конечно, менее точные).
Однако я считаю, что бесплатные базы данных не могут быть использованы для вашей «точности в 1 км».
person
Adriano Carneiro
schedule
06.06.2011
и @tofutim База данных GEOIP (по крайней мере, бесплатная версия) не имеет разрешения, которое вы ищете. Я полагаю, что он будет привязан к ближайшему адресу провайдера для вашего интернет-провайдера. В моем случае это более 60 км. Единственный способ получить истинные данные GPS — использовать датчик через устройство.
- person SRM; 06.06.2011
Платная база данных GEOIP кажется довольно точной.
- person tofutim; 07.06.2011
Это отличная новость, надеюсь, она вам поможет.
- person Adriano Carneiro; 07.06.2011
Есть несколько веб-сервисов, которые предлагают преобразование IP в геолокацию, даже некоторые из них бесплатны. Эта статья: 3 бесплатных способа геолокации По IP вы должны начать.
person
Cos Callis
schedule
06.06.2011
Вам нужно будет сначала получить IP-адрес пользователя, а затем использовать некоторый API для выполнения поиска. Проверить:
C# — получение местоположения пользователя по IP-адресу
person
Justin Niessner
schedule
06.06.2011