';管道正在关闭';在Windows 8 Metro Javascript应用程序中使用地理定位器时出错
使用以下代码,我收到以下错误:';管道正在关闭';在Windows 8 Metro Javascript应用程序中使用地理定位器时出错,javascript,geolocation,windows-8,microsoft-metro,Javascript,Geolocation,Windows 8,Microsoft Metro,使用以下代码,我收到以下错误: the pipe is being closed 及 代码: 我在Windows8模拟器中运行此功能,并尝试启用和禁用模拟位置 导致此错误的原因是什么?使用地理定位器在启用GPS的真实设备和模拟器上成功检索用户位置的正确方式是什么?您的代码对我来说运行良好,无论是在本地计算机上还是在模拟器中,在Windows 8版本预览中 我在模拟器中测试了它,模拟位置打开和关闭 有一件事需要检查…您是否在应用程序清单的功能部分启用了位置 此外,您可能希望尝试将位置信息写入屏幕
the pipe is being closed
及
代码:
我在Windows8模拟器中运行此功能,并尝试启用和禁用模拟位置
导致此错误的原因是什么?使用地理定位器在启用GPS的真实设备和模拟器上成功检索用户位置的正确方式是什么?您的代码对我来说运行良好,无论是在本地计算机上还是在模拟器中,在Windows 8版本预览中 我在模拟器中测试了它,模拟位置打开和关闭 有一件事需要检查…您是否在应用程序清单的功能部分启用了位置 此外,您可能希望尝试将位置信息写入屏幕…上面的代码将简单地将pos对象传递到控制台,因此即使您通过了错误,您实际上也不知道它是否返回了正确的地理位置信息 以下是我所做的:
标记中var loc = new Windows.Devices.Geolocation.Geolocator();
loc.getGeopositionAsync().done(function (pos) {
console.log(pos);
var geo = document.getElementById("geo");
geo.innerText = pos.coordinate.latitude + ", " + pos.coordinate.longitude;
});
我正在测试的机器是一台没有GPS的笔记本电脑,因此基础API将使用WiFi或IP地址信息进行地理定位。如果GPS可用,则应将其用于位置数据,并对您的应用程序透明。您的代码对我来说运行良好,无论是在我的本地机器上还是在Windows 8版本预览版的模拟器中 我在模拟器中测试了它,模拟位置打开和关闭 有一件事需要检查…您是否在应用程序清单的功能部分启用了位置 此外,您可能希望尝试将位置信息写入屏幕…上面的代码将简单地将pos对象传递到控制台,因此即使您通过了错误,您实际上也不知道它是否返回了正确的地理位置信息 以下是我所做的:
标记中var loc = new Windows.Devices.Geolocation.Geolocator();
loc.getGeopositionAsync().done(function (pos) {
console.log(pos);
var geo = document.getElementById("geo");
geo.innerText = pos.coordinate.latitude + ", " + pos.coordinate.longitude;
});
我正在测试的机器是一台没有GPS的笔记本电脑,因此基础API将使用WiFi或IP地址信息进行地理定位。如果GPS可用,则应将其用于对应用程序透明的位置数据。是的,这与我的示例相同。我的应用程序确实启用了位置功能。哪一行引发异常在上?您是否尝试过使用W3C地理位置语法?虽然我在开发人员预览后没有尝试过,但我能够成功地移植我当时使用W3C语法编写的一些代码。
navigator.geolocation.getCurrentPosition(success,failure);
函数成功(position){
`console.log('You at:'+position.coords.latitude+','+position.coords.longitude+'!');“}
我仍然收到相同的错误。感谢您的建议。我已经联系了Microsoft的一位同事,建议这是一个bug,尽管是间歇性的(因为你们似乎对此没有问题)。您是否一致地看到了问题?您是否有能力在另一台机器上测试它?是的,这与我的示例相同。我的应用程序确实启用了定位功能。哪一行引发了异常?您是否尝试过使用W3C地理定位语法?虽然我在开发人员预览后没有尝试过,但我能够成功成功地移植了我当时使用W3C语法编写的一些代码。navigator.geolocation.getCurrentPosition(成功,失败);
function success(position){
`console.log('您所在位置:'+position.coords.lation+','+position.coords.longitude+');`}
我仍然收到相同的错误。感谢您的建议。我联系了Microsoft的一位同事,建议这是一个错误,尽管是间歇性的(因为你们似乎没有问题)。您是否一直看到这个问题?您是否有能力在另一台机器上测试它?
var loc = new Windows.Devices.Geolocation.Geolocator();
loc.getGeopositionAsync().done(function (pos) {
console.log(pos);
var geo = document.getElementById("geo");
geo.innerText = pos.coordinate.latitude + ", " + pos.coordinate.longitude;
});