ユーザーがボタンをクリックするたびに現在の場所を取得しようとしています。
function checkConnection() {
// check if there is connection and call the getcurrent position function
navigator.geolocation.getCurrentPosition(onLocSuccess, onLocError);
}
function onLocSuccess(position) {
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
myPosition = new google.maps.LatLng(latitude, longitude);
//..........
//..........
// do something more
//.....
}
ブラウザでは、これは正常に機能します。しかし、デバイス (iphone5 でのテスト) では、2 ~ 3 回の要求の後、このコードは場所を取得しません。フリーズし、アプリがフリーズします。
しかし興味深いことに、onLocSuccess内にアラートを配置すると、正常に動作します!!!
function onLocSuccess(position) {
alert('this alert solves the issue');
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
myPosition = new google.maps.LatLng(latitude, longitude);
//..........
//..........
// do something more
//.....
}
何が間違っている可能性がありますか?