0
我有2個js文件,1個是將位置數據存儲在一個對象中,另一個是點擊事件等事件處理程序。地理定位getCurrentPosition在回調函數中表現爲奇數
這工作:
var Geology = {
coords: {},
error: '',
setPosition: function (position) {
Geology.coords = position.coords;
// DEBUG
for (var prop in Geology.coords)
console.log(prop + ': ' + Geology.coords[prop]);
},
setError: function (error) {
Geology.error = error;
}
};
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(Geology.setPosition,Geology.setError,{timeout:10000});
}
但我希望能夠通過單擊或計時器,如果需要更新的位置數據。任何時候我都會嘗試這樣做,它不會像最初那樣將變量分配給地質學。
這樣的:
jQuery(document).ready(function($){
$('.toggle').click(function(){
//- get geo location if available
if (typeof Geology === 'object') {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(Geology.setPosition,Geology.setError,{timeout:10000});
}
}
});
});
我不明白在控制檯中的錯誤,但它只是失敗,不運行回調。但是,它運行getCurrentPosition方法,因爲我已經測試過它是否通過條件。
_「我已經測試過它是否能通過條件」_所以你100%確定'typeof Geology ==='object''返回true,對嗎? – wakooka
是的,我可以讓警報發生在裏面。 –
你可以直接調用'console.log(Geology.coords)'。您不應該需要循環訪問屬性。兩者都可以工作,但這樣做可能更容易。 –