2010-11-12 16 views
5

के साथ समस्याएं हैं I अब एंड्रॉइड और 2.2 एमुलेटर का उपयोग कर रहे हैं और अभी एक समस्या में चलना शुरू कर दिया है। मेरा भौगोलिक स्थान एमुलेटर में सेट नहीं किया जा रहा है। सबसे पहले मैंने सोचा कि यह फोनगैप 0.92 के साथ एक मुद्दा था, लेकिन 9 1 9 में लौटने के बाद और एक पुरानी परियोजना खोलने के बाद भी यह सच है। डीडीएमएस में मेरे निर्देशांक सेट हैं और मैं उन्हें 'भेजता हूं'। मैं भी टेलनेट और जियो फिक्स कमांड जारी करता हूं और मुझे एक ठीक प्रतिक्रिया मिलती है। ऐसा लगता है कि सब ठीक है लेकिन कुछ कारणों से एमुलेटर के पास अभी भी कोई सुराग नहीं है।एंड्रॉइड एमुलेटर में जिओलोकेशन

मुझे कुछ पुरानी पोस्ट फिर से मिलीं: समय क्षेत्र निर्धारित करना। मैंने वह किया। अभी भी कोई भाग्य नहीं है। मैं ब्राउज़र का भी उपयोग करता हूं और यह देखने के लिए html5demos.com/geo पर जाता हूं कि यह मुझे ढूंढ सकता है या नहीं।

यह काम करता था, तब से सुनिश्चित नहीं था कि तब से क्या हुआ। मैंने जावा 1.6.0.22 के अपने संस्करण को अपडेट किया। एंड्रॉइड एसडीके 2.2, एपीआई 8, संशोधन 2.

कोई सुझाव या चाल की सराहना की जाएगी। मैं इस बिंदु पर फंस गया हूँ।

मेरे Phonegap/जे एस कॉल:

var getLocation = function() { 
    var suc = function(p){ 
     alert(p.coords.latitude + " " + p.coords.longitude); 
    }; 
var fail = function(error){ 
    alert('code: ' + error.code + '\n' + 
      'message: ' + error.message + '\n'); 
    }; 
    navigator.geolocation.getCurrentPosition(suc,fail); 
} 

'असफल' होना जारी रहता है। त्रुटि कोड 2. अंतिम स्थान प्रदाता अक्षम कर दिया गया था।

- UPDATE अभी भी एक ही समस्या है। मुझे एक पुराने मैपिंग एप्लिकेशन मिला जो मैंने गर्मियों में वापस इस्तेमाल किया था, यह 2.1 था। तो मैंने फिर से संकलित किया और 2.1 एमुलेटर पर भाग गया और यह भी काम नहीं कर रहा है। मजाकिया बात ग्रहण में है जब मैं डीडीएमएस में हूं और 2.1 को निर्देशांक भेजता हूं कि यह एक पुष्टिकरण है कि यह एमुलेटर में भेजा गया है लेकिन 2.2 के साथ नहीं।

बड़ा अंतर यह है कि अब मैं प्रॉक्सी के पीछे हूं (नया काम) जहां मैं नहीं था। मुझे लगता है कि मैं घर पर कोशिश कर सकता हूं ... यकीन नहीं है कि यह मायने रखता है।

+0

क्या आपने इसे फ़ोन पर काम करने की कोशिश की है? – davejohnson

उत्तर

5

मुझे एक ही समस्या थी। समाधान http://docs.phonegap.com/phonegap_geolocation_geolocation.md.html#Geolocation के अंत में है (नीचे स्क्रॉल):

"एंड्रॉयड क्वर्क्स

Android 2.x सिमुलेटर एक जियोलोकेशन परिणाम नहीं लौटाएगा जब तक enableHighAccuracy विकल्प सही पर सेट है

{। enableHighAccuracy: true} "

तो आपको अपने navigator.geolocation.getCurrentPosition और your navigator.geolocation.watchPosition कॉल पर सक्षम हाईएक्चुरिटी सेट करना होगा।

+0

टिप के लिए धन्यवाद। लेकिन .. कोई काम नहीं करेगा :(मुझे लगता है कि यह एमुलेटर (शायद) के साथ एक मुद्दा है। सबसे पहले, हर बार जब मैं इसे आग लगाता हूं तो मुझे किसी कारण से बेवकूफ जापानी कीबोर्ड मिलता है। अगर मैं एक शुद्ध HTML5 ऐप पर जाता हूं तो क्रोम से स्थान प्राप्त करता है, यह काम नहीं करता है। इस तरह-> http://html5demos.com/geo। यह मेरे ब्राउज़र में काम करता है लेकिन एमुलेटर ब्राउज़र पर नहीं। – jdruid

8

इस काम को करने का एकमात्र तरीका यह है कि मैं एमुलेटर को टेलनेट करना चाहता हूं और कोड को ट्रिगर करने के बाद "भू फिक्स रेखांश अक्षांश" जारी करता हूं।कुछ इस तरह जीपीएस ट्रॉनहैम, नॉर्वे के लिए निर्देशांक emulates (एमुलेटर के बंदरगाह आमतौर पर 5554 है, लेकिन इस के लिए अपनी सेटिंग्स के साथ भिन्न हो सकते हैं):

[email protected]:~$ telnet localhost 5554 
Trying 127.0.0.1... 
Connected to localhost.localdomain. 
Escape character is '^]'. 
Android Console: type 'help' for a list of commands 
OK 
geo fix 10.40 63.40 
OK 
quit 
Connection closed by foreign host. 

अनुकरण बारे में अधिक जानकारी पाया जा सकता है here

+0

धन्यवाद। मैंने कोशिश की। अभी भी कोई भाग्य नहीं है। – jdruid

+0

मैंने html5demos.com/geo का परीक्षण किया, और यह मेरे लिए भी काम नहीं करता है .. लेकिन यह मेरी सभी साइटों के लिए काम करता है ... – Kristian

12

आप getCurrentPosition में enableHighAccuracy डाल करने के लिए, उदाहरण के लिए:

navigator.geolocation.getCurrentPosition(onSuccess, onError, { maximumAge: 3000, timeout: 5000, enableHighAccuracy: true }); 

इसके बाद, आप एमुलेटर में टेलनेट है, और भू स्थान (देशांतर, अक्षांश) को ठीक आप चाहते हैं:

[email protected]:~$ telnet localhost 5554 
Trying 127.0.0.1... 
Connected to localhost.localdomain. 
Escape character is '^]'. 
Android Console: type 'help' for a list of commands 
OK 
geo fix 101.689453 3.074695 
OK 
quit 
Connection closed by foreign host. 

फिर अपना फोनगैप ऐप चलाएं।

+3

कमाल, यह मेरे लिए काम करता है, धन्यवाद :) ओह किसी और को भी नोट करने की कोशिश कर रहा है मेरे प्रयोगों से प्रत्येक getcurrentposition कॉल से पहले भू फिक्स चलाएं। क्या यह अधिक परेशान नहीं हो सकता है – MikeIsrael

+2

@ माइक इज़राइल यह अधिक परेशान होने के लिए बहुत कठिन होगा। – mraaroncruz

+0

बहुत अच्छा काम करना! –

0

मेरे लिए navigator.geolocation.getCurrentPosition(suc,fail);

यह काम के दशक में geolocationOptions { enableHighAccuracy: true } जोड़ें।

एंड्रॉइड 2.x सिमुलेटर एक भौगोलिक स्थान परिणाम वापस नहीं लौटाएंगे जब तक कि सक्षम हाईएक्चुरिटी विकल्प सत्य पर सेट न हो जाए।

डीडीएमएस में मेरे निर्देशांक सेट करना होगा और आप उन्हें 'भेज दें'।

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