2010-04-18 4 views
35

Возможно ли получить значение долготы и широты от IP-адреса в asp.net? Если возможно, сообщите мне, как я могу это получить.Долгота и значение широты от IP-адреса

+0

Попробуйте [MaxMind] (http://www.maxmind.com/app/ip-location) – codaddict

+0

Спасибо Unicomaddict, Но это не бесплатно :(Любая другая ссылка !! – Zerotoinfinity

+1

https:.//ipdata.co бесплатно до 1500 запросов ежедневно! Это также очень быстро, с 10 конечными точками по всему миру, каждый из которых способен обрабатывать> 800 М звонков в день! – Jonathan

ответ

33

MaxMind Geolite city является бесплатным. Если это недостаточно, вы, вероятно, можете перейти к более точной платной версии. Я не могу говорить о качестве платной версии, поскольку я никогда не использовал ее.

Если вам понравился ваш SQL, загрузите CSV version. Загрузите его в свою базу данных по выбору и запросите прочь.

Более быстрая и экономичная по площади опция download the file binary blob version из той же базы данных, а затем используйте the C# class для запроса.

В качестве альтернативы, я нашел ipinfodb.com, чтобы быть полезным. Запрос выполняется с помощью простого HTTP GET. Например, чтобы Geolocate stackoverflow.com попробовать:

http://ipinfodb.com/ip_query.php?timezone=false&ip=69.59.196.211 

Это возвращает файл XML, содержащий широту и долготу, которая выглядит как:

<Response> 
    <Ip>69.59.196.211</Ip> 
    <Status>OK</Status> 
    <CountryCode>US</CountryCode> 
    <CountryName>United States</CountryName> 
    <RegionCode>41</RegionCode> 
    <RegionName>Oregon</RegionName> 
    <City>Corvallis</City> 
    <ZipPostalCode>97333</ZipPostalCode> 
    <Latitude>44.4698</Latitude> 
    <Longitude>-123.343</Longitude> 
</Response> 

Некоторые VB.NET пример кода доступен на http://forum.ipinfodb.com/viewtopic.php?f=7&t=269

+1

Они требуют регистрации, чтобы получить ключ API начиная с этого поста, но это бесплатно и относительно безболезненно. – Merijn

+0

отличный сервис. Спасибо, ребята – chester89

+0

I использовали эту услугу бесплатно с кредитом на странице и ее твердой вехой. –

2

Вы можете использовать услуги, такие как: http://freegeoip.appspot.com/

Это не будет абсолютно точным.

Here является учебным пособием по использованию службы с использованием ASP.Net.

+0

Hi Thedugas, http: //freegeoip.appspot.com/не работает должным образом, и я реализовал то же самое, что он выдает ошибку 503. Возможно, эта служба остановлена. :( Пожалуйста, дайте мне знать, если у вас есть другие мысли. Еще раз спасибо за ваш ответ. – Zerotoinfinity

2

Попробуйте IPInfoDB который, насколько я знаю, является бесплатным.

Они предоставляют загружаемые базы данных, но самым простым решением является XML api. Приведенные примеры относятся к php, но я уверен, что он одинаково доступен с ASP.Net.

1

http://www.iptolatlng.com/ хорошо работает для меня, потому что он дает мне исходный вывод JSON, который мне нужен для этого приложения, над которым я работаю.

0

Если вы пытаетесь получить доступ к своему местоположению с помощью javascript-клиента, то API-адрес географического местоположения, доступный с HTML 5, очень полезен.

if(navigator.geolocation){    
    navigator.geolocation.getCurrentPosition(geoLocationSuccess, geoLocationError); 
} 

geoLocationSuccess и geoLocationError - это обратные вызовы для успеха и ошибки соответственно.

function geoLocationSuccess(position){ 
    alert('lat: ' + position.coords.latitude + ', lon: ' + position.coords.longitude); 
} 
+1

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

Смежные вопросы