2012-10-09 35 views
6

PhoneGap sürümü: 2.0.0 başlatılamadı. Android API seviyesi 16 (4.0.3 sürümü). bir hata istemleri kod örneği: PhoneGap. Coğrafi konum hizmeti

navigator.geolocation.getCurrentPosition(onSuccess, onError, {enableHighAccuracy:true}); 

function onSuccess(position) { 
    console.log('latitude: '+ position.coords.latitude); 
    console.log('longitude: '+ position.coords.longitude);     
} 

function onError(error) { 
    console.log('Appeared error : '+ error.message);     
} 

daima emülatörü Failed to start Geolocation service, hata kodu 2 bir hata alıyorum.

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

cevap

6

sadece emülatörünüzde bu test ediyorlar: Hatta gönderirseniz GPS Android konsol üzerinden veya DDMS

Android bildirim izinlerini koordinatları? Coğrafi Konum Hizmeti, Android emülatörümde her zaman gerçek bir cihazda başarısız olur.

DÜZENLEME: konumu almaya çalışırken iken

document.addEventListener("deviceready", onDeviceReady, false); 

function onDeviceReady() { 
    navigator.geolocation.getCurrentPosition(myPositionSuccess, myPositionError, {maximumAge: 300000, timeout:10000, enableHighAccuracy : true}); 
}; 
+0

Android 2.3 sürümüne sahip gerçek bir cihaz var, ancak 4.x sürümüne sahip bir cihazım yok. Ben de emülatörde test yapıyorum. Evet, gerçek cihazda böyle bir hata yok. Sadece emülatörde. –

+0

Lütfen o eventListener'ı eklemeyi deneyin. – jmpenetra

+0

@ JoãoPenetra Bunu koduma ekledim ve herhangi bir hata döndürmemesi gerekiyor! Bunun için teşekkürler! Ancak şimdi ... JSONP isteğimi, konumu da kullanan Google Fusion Tables'e iki katına çıkar. 'EnableHighAccuracy' kullanarak iki çağrı yapmanın herhangi bir nedenini düşünebilir misiniz? Bu olmadan, yalnızca 1 veri kümesi döndürür ancak önce bir hata atar. İşte dosya: https://github.com/jamez14/TrailFinder/blob/master/TrailFinder/www/js/map.js – jamez14

6

Sen true için enableHighAccuracy seçeneğini ayarlamak gerekir aşağıdaki kodu kullanarak deneyin. > Aç Perspektif - -

navigator.geolocation.getCurrentPosition(onSuccess, onError,{enableHighAccuracy:true}); 

Üstelik için emülatörü daki pozisyon,

Eclipse koordinatlarını belirten> DDMS -> Emülatörü Kontrolü -> Konum

belirtin Kontrolleri pozisyonun koordinatları ve "Gönder" tuşlarına basın.

0

Bu sorunu haftalarca gidermeye çalışıyorum. Ben net arama ve çoğu insan android için geliştirdikleri zaman phonegap ile ilgili bu sorun yaşıyor gibi görünüyor. Çözüm, kodumu GPRS'ye sahip bir cihazda test etmekti. Ayrıca, kodunuzu çalıştırmadan önce GPRS ve wifi cihazınızın etkinleştirildiğinden emin olun. GPRS'yi test etmek için emülatör kullanmaktan kaçının, çünkü birçok özellik eksiktir ve hatalar vardır.

İlgili konular