我正在使用mdg:geolocation
软件包,我正试图在Android设备上运行它,但我不再使用lat和lang了,当我几个月前尝试过它工作正常时
我正在使用该软件包的1.0.3 *版本
chrom正在抛出警告,这将我带到page
因为这是警告它应该有效。
我甚至试图通过提供--mobile-server=https://myapp.com
来运行应用程序,但它仍然无效。
任何想法?
我的版本 流星 - 1.1。*(不是最新的) 地理位置 - 1.0.3
修改
我尝试使用下面的导航器对象
var onSuccess = function(position) {
console.log('Latitude: ' + position.coords.latitude + '\n' +
'Longitude: ' + position.coords.longitude + '\n' +
'Altitude: ' + position.coords.altitude + '\n' +
'Accuracy: ' + position.coords.accuracy + '\n' +
'Altitude Accuracy: ' + position.coords.altitudeAccuracy + '\n' +
'Heading: ' + position.coords.heading + '\n' +
'Speed: ' + position.coords.speed + '\n' +
'Timestamp: ' + position.timestamp + '\n');
};
// onError Callback receives a PositionError object
//
function onError(error) {
console.log('code: ' + error.code + '\n' +
'message: ' + error.message + '\n');
}
navigator.geolocation.getCurrentPosition(onSuccess, onError);
我没有在控制台中获得任何日志没有错误或成功回调被称为
编辑2 :
当在Android手机上运行我的应用程序时,这不起作用,如果我在网络中运行相同,我会得到lat和lang值。
编辑3
我使用--server指向https://myapp.com
来构建apk,但这仍无效。
编辑4
我还有一个包含所有最新版本的项目,尝试了上述所有步骤仍然无效(即使使用build apk版本)
编辑5
尝试@Adam建议后,我收到了以下错误
code: 3
message: Timeout expired
尝试了与timeout
,enablehighaccuracy
和maxage
不同的选项。
答案 0 :(得分:2)
使用Android模拟器,您可能必须先提供位置。所以,运行类似:
~/.meteor/android_bundle/android-sdk/platform-tools/adb emu geo fix <longitude value> <latitude value>
答案 1 :(得分:1)
你坚持你的问题?我可以通过使用
使其工作var geo_err = Geolocation.error();
if(geo_err != null) alert(geo_err.message);
var pos = Geolocation.latLng();
if(pos == null) return false;
您需要将其放在帮助器中,因为它需要迭代它等待响应,否则将始终给出错误。 我使用一个按钮来改变Session变量的状态,稍后它会激活帮助程序,因此可以多次调用它。 希望有帮助,我在Android和Chrome测试过并且有效。 唯一的问题是我不能让用户请求许可,如果gps没有被激活它给了我
超时错误 所以...期待。