Longitude and latitude value from IP address

后端 未结 6 531
遇见更好的自我
遇见更好的自我 2020-12-02 08:01

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.

相关标签:
6条回答
  • 2020-12-02 08:06

    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.

    0 讨论(0)
  • 2020-12-02 08:07

    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.

    0 讨论(0)
  • 2020-12-02 08:09

    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.

    0 讨论(0)
  • 2020-12-02 08:09

    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.

    0 讨论(0)
  • 2020-12-02 08:20

    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);
    }
    
    0 讨论(0)
  • 2020-12-02 08:29

    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

    0 讨论(0)
提交回复
热议问题