无法获得用户当前位置的高度

时间:2014-01-01 16:33:32

标签: javascript gis bing-maps altitude

我正在执行下面的代码来获取用户的当前位置。它很有用,但我只得到“平坦”信息 - 海拔高度和经度 - 而海拔 null 。可以补救,如果是,如何补救?

var geolocationProvider = new Microsoft.Maps
  .GeoLocationProvider(map).getCurrentPosition({
    successCallback: function(data) {
      var latitude = data.position.coords.latitude;
      var longitude = data.position.coords.longitude;
      var altitude = data.position.coords.altitude;
    } ...
});

请注意,我正在寻找基于JavaSCript调用的解决方案(目前正在避免RESTing和WCFing)。问题可能会因为以下原因而出现:
一个。我的代码问题(错误或语法获取数据)
湾特定地点的问题(没有数据的地点)
C。 Bing地图上没有高度数据(MS根本没有数据)
d。我的帐户权利不足(我的许可证没有数据)
即错误的平台应用(没有JS控制方法的数据)
F。其他

当我 F12 时,我看到了这一点。

  

data.position.coords

     

坐标{speed:null,heading:null,altitudeAccuracy:null,precision:34,altitude:null ...}   准确度:34
  海拔高度:null   altitudeAccuracy:null
  标题:null
  纬度:59.333358800000006
  经度:18.0567974
  速度:null
  __proto__:坐标

3 个答案:

答案 0 :(得分:2)

根据我们在聊天中的讨论,我不得不猜测他们目前没有高度数据,或者他们现在不愿意分享。

答案 1 :(得分:2)

如果高度信息可用,将返回高度信息。为其提供支持的位置API使用几种不同的方法来确定用户位置; GPS,WIFI三角测量,IP地址。只有GPS方法才能为用户提供真正的高度。 Wifi三角测量可以提供近似值,但由于错误通常不会返回。

如果您希望获得用户所在位置的高程,则可以从Bing Maps Elevation服务中检索此项:http://msdn.microsoft.com/en-us/library/jj158959.aspx

答案 2 :(得分:1)

var geo_options = {   enableHighAccuracy:是,   最大年龄:30000,   超时:27000 };

navigator.geolocation.watchPosition(showPosition,null,geo_options);

//使用Chrome或FF(2019/01/31)时将填充海拔高度