2013-04-21 25 views
5

Tôi đang cố gắng định vị API phonegap (phiên bản 2.5) với thiết bị Android 4.0.4 nhưng tôi không nhận được gì. tôi đang sử dụng mã từ tài liệu về phonegap. Theo họ "nếu GPS và wifi bị vô hiệu hóa, bạn nên xác định vị trí của mình bằng cách sử dụng Triangulation Tháp di động" nhưng mã này không cung cấp gì cho tôi. Khi tôi kết nối với wifi nó mang lại cho tôi vị trí hoàn hảo nhưng khi không có internet, nó sẽ không hoạt động. Tôi thành công với tất cả API của API điện thoại khác nhưng chỉ định vị địa lý API đang gây ra vấn đề cho tôi. Xin hãy giúp tôi giải quyết vấn đề này.Vị trí địa lý của Phonegap 2.5.0 không hoạt động với Android 4.0.4

Và thêm một chút nghi ngờ xin tha thứ cho tôi nếu có vẻ buồn cười .... Tôi sử dụng kết nối wifi trong điện thoại di động của mình và không bao giờ kết nối với các dịch vụ khác (2G, 3G vv) hoặc nó cũng bao gồm kết nối 2g và 3g?

Thnaks trong Advance

<!DOCTYPE html> 
     <html> 
     <head> 
    <title>Device Properties Example</title> 

    <script type="text/javascript" charset="utf-8" src="cordova-2.5.0.js"></script> 
    <script type="text/javascript" charset="utf-8"> 

    // Wait for Cordova to load 
    // 
    document.addEventListener("deviceready", onDeviceReady, false); 

    // Cordova is ready 
    // 
    function onDeviceReady() { 
     navigator.geolocation.getCurrentPosition(onSuccess, onError); 
    } 

    // onSuccess Geolocation 
    // 
    function onSuccess(position) { 
     var element = document.getElementById('geolocation'); 
     element.innerHTML = 'Latitude: '   + position.coords.latitude    + '<br />' + 
          'Longitude: '   + position.coords.longitude    + '<br />' + 
          'Altitude: '   + position.coords.altitude    + '<br />' + 
          'Accuracy: '   + position.coords.accuracy    + '<br />' + 
          'Altitude Accuracy: ' + position.coords.altitudeAccuracy  + '<br />' + 
          'Heading: '   + position.coords.heading    + '<br />' + 
          'Speed: '    + position.coords.speed     + '<br />' + 
          'Timestamp: '   +         position.timestamp   + '<br />'; 
    } 

    // onError Callback receives a PositionError object 
    // 
    function onError(error) { 
     alert('code: ' + error.code + '\n' + 
       'message: ' + error.message + '\n'); 
    } 

    </script> 
    </head> 
    <body> 
    <p id="geolocation">Finding geolocation...</p> 
    </body> 
</html> 

Got biết một điều .. Nó sẽ không làm việc với 2g và 3g .. chỉ làm việc với WIFI

+0

bây giờ nó có hoạt động không? Tôi đã cùng một vấn đề ..: P – F481

Trả lời

0

tôi đã phải đối mặt với cùng một vấn đề, lúc đầu tôi nghĩ nó có thể có liên quan đến PhoneGap hoặc Android (có thể là vấn đề tương thích hoặc một cái gì đó). Nhưng sau đó, tôi phát hiện ra rằng tôi đã thiếu một tập tin config.xml trong thư mục gốc (cùng với index.html) của tài sản PhoneGap (HTML, CSS, JS).

Sau đó, tôi đã tạo tệp config.xml và đặt tất cả các quyền cần thiết, tính năng, v.v. và sự cố được giải quyết.

Bạn có thể muốn có một cái nhìn tại file config.xml: http://bit.ly/gap-config

Dòng 25 có sự cho phép cho Định vị API.

Nếu bạn thiếu tệp này config.xml, tôi khuyên bạn nên xem qua tệp từ URL ở trên và điền/xóa thông tin cần thiết để ứng dụng hoạt động bình thường.

Cheers :)

+1

Cảm ơn bạn đã trả lời của bạn nhưng trong điện thoại android chúng tôi thêm quyền trong tập tin androidmanifest không cấu hình tập tin .. thats cho IOS – Praveen

+0

Vâng, đó là giải quyết vấn đề của tôi cho Android 4.0.4, btw tôi xây dựng bằng tay bằng cách sử dụng dịch vụ PhoneGap Build, không phải Eclipse với ADT. – undefined

0

Tôi biết đây là một bài cũ .. nhưng bạn có thể thử thay thế ..

<script type="text/javascript" charset="utf-8" src="cordova-2.5.0.js"></script> 

với

<script type="text/javascript" charset="utf-8" src="cordova.js"></script> 

làm việc cho tôi = D

Các vấn đề liên quan