我在我的地理定位程序中有以下代碼。如何從JavaScript中使用不同參數的不同位置調用相同的函數,並仍保留該函數的舊變量值?
當用戶允許的設備以獲取地理位置,該geolocation()
函數被調用和geolocation
功能再次傳播successPosition
功能與position
對象,它爲緯度和經度。在successPosition
函數內部,我還需要其他變量btype
(血型),因爲我正在開發一個程序來尋找最近的血型。
所以在過去,我試圖問用戶使用javascript prompt
方法搜索哪種血型,但使用該方法,用戶將不得不手動輸入血型,但我想要的是讓用戶從下拉列表中選擇類型。但是如果我創建一個表單並詢問用戶類型並將對象傳遞給SuccessPosition
函數,則position
對象變得不確定 - 這是因爲這次我們只傳遞btype
而我們沒有position
。當position
對象獲得通過時,另一個變量btype
未定義。
請告訴我什麼是解決問題的最佳方法。
geolocation: function() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(this.successPosition, this.failurePosition, {
enableHighAccuracy: true,
timeout: 3000,
maximumAge: 4000
});
} else {
return (false);
}
},
successPosition: function(position) {
self.latitude = position.coords.latitude;
self.longitude = position.coords.longitude;
//self.btype = btype;
self.partial_url = ("/users?utf8=✓&longitude=" + (self.longitude)
+ "&latitude=" + (self.latitude)
+ "&btype=" + encodeURIComponent(self.btype));
window.location = self.partial_url;
}
將代碼放在框的邊界內以便查看它的人不必滾動太多是個好主意。 – philraj
您是否將服務用作單身人士?服務的使用應允許您將btype與位置分離 – pixelbits