我在GeoCoordinateWatcher
localhost中使用C#
但在Azure中发布时无效。
GeoCoordinateWatcher watcher = new GeoCoordinateWatcher();
string cordenadas = "";
watcher.TryStart(false, TimeSpan.FromMilliseconds(1000));
GeoCoordinate coord = watcher.Position.Location;
if (coord.IsUnknown != true)
{
cordenadas ="Latitud: " + coord.Latitude + ", Longitud: " + coord.Longitude;
}
return cordenadas;
答案 0 :(得分:1)
根据GeoCoordinateWatcher.TryStart method description。
请注意
在Windows 7之前的Windows版本中,以下条件适用: 可以创建具有构造函数的所有System.Device.Location对象,但Status属性的值始终为Disabled。 “位置”的“位置”属性指示的位置始终为“未知”。 不会引发任何地点事件。
Web应用服务器的操作系统是Windows NT 6.2,因此我们无法使用GeoCoordinateWatcher获取该位置。 “位置”的“位置”属性将始终为“未知”。
我已远程调试网络应用程序。
网络应用操作系统:
我希望你不要拿服务器的坐标
你是说你想得到客户的坐标吗?如果这是您的要求。我建议你可以尝试使用javascript navigator.geolocation.getCurrentPosition()方法来获取客户端用户的位置。
更多细节,您可以参考以下代码。
<!DOCTYPE html>
<html>
<body>
<p>Click the button to get your coordinates.</p>
<button onclick="getLocation()">Try It</button>
<p id="demo"></p>
<script>
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
</script>
</body>
</html>
结果: