phonegapバージョン2.0.0を搭載した2.xandroidデバイスの数で次のことを試しました。
var onSuccess = function(position){
console.log("Success");
}
var onError = function(error){
console.log("Error");
}
gpsTrackWatchID = navigator.geolocation.watchPosition(
onSuccess,
onError,
{
enableHighAccuracy: true,
maximumAge: 5000,
timeout: 10000,
}
);
GPS信号がない屋内でデバイスを使用すると、onErrorが呼び出されることはありません。ドキュメントには次のように記載されています。
この時間内にgeolocationSuccessコールバックが呼び出されない場合、geolocationErrorコールバックはPositionError.TIMEOUTエラーコードで呼び出されます。
cordova.jsのwatchPosition関数にconsole.logを配置してこれをデバッグしようとしましたが、関数が呼び出されていないようです。phonegapの代わりにブラウザのネイティブ関数が実行されているのだろうか?