如何使用ASP.NET跟踪用户的lat/long和IP地址的确切位置

如何使用ASP.NET跟踪用户的lat/long和IP地址的确切位置,asp.net,geolocation,ip,ip-address,Asp.net,Geolocation,Ip,Ip Address,当用户访问我的网站或在浏览器中打开我的网站时,我希望存储用户的所有必要信息,如位置、城市、县、纬度/经度以及IP地址 我已经找到了一些答案,并将其付诸实施。虽然他们给出了位置,但不是用户的确切位置 不要建议我使用freegeoip、dotnetcurry、iplocationtools等。这些都是无用的,并且没有给出确切的位置。您所说的确切位置是什么意思?如果你期望厘米分辨率,你永远无法得到确切的位置!!因此,IP地址提供的位置精度有限。也许你最好在支持GPS的设备中使用GPS,以获得更准确的位

当用户访问我的网站或在浏览器中打开我的网站时,我希望存储用户的所有必要信息,如位置、城市、县、纬度/经度以及IP地址

我已经找到了一些答案,并将其付诸实施。虽然他们给出了位置,但不是用户的确切位置


不要建议我使用freegeoip、dotnetcurry、iplocationtools等。这些都是无用的,并且没有给出确切的位置。

您所说的确切位置是什么意思?如果你期望厘米分辨率,你永远无法得到确切的位置!!因此,IP地址提供的位置精度有限。也许你最好在支持GPS的设备中使用GPS,以获得更准确的位置。

通过谷歌地图地理定位,我可以获取纬度、经度,包括用户所在位置的准确位置。 对于谷歌地图API:“


你们不能得到准确的纬度和长期使用的网站,因为个人电脑不支持gps。但是GoogleAPI可以帮助您获得lat-long。它没有显示确切的位置,但显示最近的位置。不要建议我使用freegeoip、dotnetcurry、iplocationtools等。所有这些都是无用的,并且没有给出确切的位置。因此,您正在寻找建议,这是离题的,请阅读,看看可以提出什么样的问题。向我们展示您所做的尝试,并附上一份演示。除非用户设备已启用GPS并允许您通过浏览器访问信息,否则您无法获得用户的准确纬度和经度。您不太可能通过编程来解决这个问题。这是一个权限问题。借助纬度和经度,我们可能可以得到准确的位置。纬度和经度本身就是定义位置的因素。我想你说的是别的。也许你想要一个单位的位置,而不是地理上的十进制度数。如果我是对的,你应该在我帮助你之前编辑你的问题。我对你的答案不满意,但无论如何,我得到了用户访问我网站的确切位置。
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(success);
} else {
alert("Geo Location is not supported on your current browser!");
}
function success(position) {
var lat = position.coords.latitude;
var long = position.coords.longitude;
var myLatlng = new google.maps.LatLng(lat, long);

var geocoder, add, country;
geocoder = new google.maps.Geocoder();

geocoder.geocode({
    'latLng': myLatlng
}, function (results, status) {
    if (status == google.maps.GeocoderStatus.OK) {
        if (results[1]) {
            add = results[1].formatted_address;
            country = results[9].formatted_address;
        } 
    }
});
}