我使用以下代码(来自本指南)将用户移动到他们当前的地理位置。但是,尽管成功的回调按预期工作,但错误的回调似乎并没有被触发(尽管 API 中的 #1 指出它应该)。
var geolocationProvider = new Microsoft.Maps
.GeoLocationProvider(map).getCurrentPosition({
successCallback: function (data) { alert("Yey!"); },
errorCallback: function (data) { alert("Buu!"); },
...
});
这就引出三个问题。
- 我是否可以(如果是)对用户单击不共享 GIS 信息做出反应?
- 我是否可以(如果是)对用户预先选择不共享 GIS 信息做出反应?
- errorCallback() 在侦听什么事件?
您需要设置超时才能正常工作。如文档中所述:
3 已超过超时中指定的时间。
默认情况下,没有指定超时,因此除非出现真正的错误,否则不会发生任何事情。
允许地理位置请求返回的时间长度(以毫秒为单位)。默认情况下没有超时。
当用户决定不共享他们的位置信息时,没有任何反应。因此,请指定超时,然后您的错误消息将在该时间后触发。