Zerotoinfinity
Zerotoinfinity

Reputation: 6540

Longitude and latitude value from IP address

Is it possible to get the longitude and latitude value from IP address in asp.net? If it is possible, please let me know how can I get this.

Upvotes: 34

Views: 58193

Answers (6)

rand_mem_RAM
rand_mem_RAM

Reputation: 586

If you are trying to access your location via a javascript client, then the geo location API available with HTML 5 is very very helpful.

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

geoLocationSuccess and geoLocationError are the callbacks for success and error, respectively.

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

Upvotes: 0

mikewhit
mikewhit

Reputation: 121

http://www.iptolatlng.com/ works well for me because it gives me JSON output raw which I need for this app I'm working on.

Upvotes: 1

cantdutchthis
cantdutchthis

Reputation: 34667

There is another one as well: http://www.hostip.info/index.html

It has an api, might be interesting for you to have a look at.

Upvotes: 0

Shawn Chin
Shawn Chin

Reputation: 86984

Try IPInfoDB which, as far as I know, is free.

They provide downloadable databases, but the easiest solution seems to be the XML api. Examples provided are for php, but I'm sure it's equally accessible with ASP.Net.

Upvotes: 2

fmark
fmark

Reputation: 58667

MaxMind Geolite city is free. If it is not good enough, you can apparently upgrade to a more accurate paid-version. I can't speak for the quality of the paid version, as I have never used it.

If you like your SQL, download the CSV version. Load it into your database of choice, and query away.

The faster and space-efficient option is to download the file binary blob version of the same database, and then use the C# class to query it.

Alternatively, I have found ipinfodb.com to be useful. Query is by simple HTTP GET. For example, to geolocate stackoverflow.com try:

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

This will return an XML file containing latitude and longitude, that looks like:

<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>

Some VB.NET sample code is available at http://forum.ipinfodb.com/viewtopic.php?f=7&t=269

Upvotes: 33

dugas
dugas

Reputation: 12493

You can use a service such as: http://freegeoip.appspot.com/

It will not be completely accurate.

Here is a tutorial on consuming the service using ASP.Net.

Upvotes: 2

Related Questions