Как извлечь местоположение из Windows с помощью С#?

Карты Google, кажется, могут делать это довольно хорошо, предположительно используя моего интернет-провайдера. Как это делается? Можно ли подключиться к Google Maps или какой-либо другой базе данных, чтобы узнать, где находится пользователь? (В пределах 1 км?)


person tofutim    schedule 06.06.2011    source источник


Ответы (3)


Это делается с помощью базы данных GEOIP.

Этим бизнесом занимается компания под названием Maxmind. Есть платные базы и бесплатные базы (последние, конечно, менее точные).

Однако я считаю, что бесплатные базы данных не могут быть использованы для вашей «точности в 1 км».

person Adriano Carneiro    schedule 06.06.2011
comment
и @tofutim База данных GEOIP (по крайней мере, бесплатная версия) не имеет разрешения, которое вы ищете. Я полагаю, что он будет привязан к ближайшему адресу провайдера для вашего интернет-провайдера. В моем случае это более 60 км. Единственный способ получить истинные данные GPS — использовать датчик через устройство. - person SRM; 06.06.2011
comment
Платная база данных GEOIP кажется довольно точной. - person tofutim; 07.06.2011
comment
Это отличная новость, надеюсь, она вам поможет. - 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