2011-11-23 19 views
9

मैं HTML भौगोलिक स्थान में maxAge पैरामीटर का उपयोग करने के लिए संघर्ष कर रहा हूं। क्रोम में जिस तरह से काम करता है वह कल्पना से मेल नहीं खाता है।क्रोम भौगोलिक स्थान अधिकतम एज पैरामीटर को अनदेखा करता है

मेरे पास read through the geolocation API spec है और यदि आप अधिकतम एज को शून्य पर सेट करते हैं, तो आपको हमेशा एक नई स्थिति मिलनी चाहिए।

maximumAge विशेषता इंगित करता है कि आवेदन करने को तैयार है एक कैश्ड स्थिति जिनकी उम्र कोई मिलीसेकंड में निर्दिष्ट समय से अधिक है स्वीकार करते हैं। यदि maxAge 0 पर सेट किया गया है, तो कार्यान्वयन को तुरंत एक नई स्थिति ऑब्जेक्ट प्राप्त करने का प्रयास करना चाहिए। को अधिकतम करने के लिए इन्फिनिटी को अपनी उम्र के बावजूद कैश स्थिति वापस करने के लिए कार्यान्वयन का निर्धारण करना होगा। यदि कोई कार्यान्वयन में कैश की गई स्थिति उपलब्ध नहीं है, जिसकी आयु निर्दिष्ट अधिकतम एज से अधिक नहीं है, तो उसे एक नई स्थिति ऑब्जेक्ट प्राप्त करनी होगी। घड़ीपोत() के मामले में, अधिकतम आकार कार्यान्वयन द्वारा लौटाई गई पहली स्थिति ऑब्जेक्ट को संदर्भित करता है।

बहरहाल, यह मेरी कोड है:

function gpsSuccess(pos) { 
    var positionDate = new Date(pos.timestamp); 
    var currentDate = new Date(); 
    console.log(positionDate.toLocaleString(), currentDate.toLocaleString()); 
} 
watchId = navigator.geolocation.watchPosition(gpsSuccess, 
    gpsFail, { 
     enableHighAccuracy: true, 
     maximumAge: 0, 
     timeout: 27000 
}); 

और मैं निम्नलिखित दिखाई दे रही है:

Wed Nov 23 2011 10:25:43 GMT+0000 (GMT), Wed Nov 23 2011 10:52:16 GMT+0000 (GMT) 

ताकि आधा स्थिति प्राप्त की और वर्तमान समय के बीच एक घंटे की अंतर है।

मैंने सोचा कि यह उपग्रह समय और स्थानीय समय के बीच अंतर हो सकता है, लेकिन मैं बार-बार रीफ्रेश मार रहा हूं, और स्थितिडेट बदल रहा है, भले ही वर्तमान दिनांक है।

वही कैश की स्थिति का पुन: उपयोग क्यों किया जा रहा है, भले ही अधिकतम एज शून्य पर सेट हो?

यह क्रोम, बीटीडब्ल्यू में है।

+0

मैं सफारी-मोबाइल पर भी इसी तरह के व्यवहार को देख रहा हूं। अधिक निराश। काश मैं एक ताजा भू-लुकअप को मजबूर करने का एक तरीका जानता था जब मुझे इसकी आवश्यकता होती है। मैंने सोचा, जैसा आपने किया था, अधिकतम सेटिंग शून्य से शून्य होगी (जैसा कि स्पेक बताता है)। मान लीजिए ... – robmclarty

+0

ऐसा लगता है कि इस पर कोई नियंत्रण नहीं हो सकता है: http://stackoverflow.com/questions/14814256/javascript-geolocation-caching – robmclarty

+0

आपके उपयोग के मामले के आधार पर यह समस्या बहुत परेशान हो सकती है। मैं झंडा सेट करके और सफलता कॉलबैक में लौटाई गई पहली स्थिति ऑब्जेक्ट को अनदेखा करके इसे प्राप्त करता हूं। – bardu

उत्तर

0

यह संभव नहीं है। वेबकिट भाषण जैसे कुछ HTML5 टैग के साथ वही बात होती है, जिसे आप कोड के माध्यम से सक्रिय नहीं कर सकते हैं। क्षमा करें, इस चीज़ पर आपका अधिक नियंत्रण नहीं है।

संबंधित मुद्दे