1

phonegap を数週間使用していましたが、地理位置情報サービスに到達したときに問題が見つかりました。ブラウザでは正常に動作していますが、コンパイルされていません (build.honegap.com を使用)。

私の config.xml ファイルには、次のようなものがあります。

Config package name, id, author, icon,etc...

<feature name="http://api.phonegap.com/1.0/device" />
<plugin name="Geolocation" value="CDVLocation" />
<plugin name="Geolocation" value="org.apache.cordova.GeoBroker" />
<feature name="http://api.phonegap.com/1.0/geolocation"/>

そしてこれだけでandroidmanifest.xml:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.me"
    android:versionCode="1"
    android:versionName="6.5" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="16" />

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

テストのために、このスクリプト (jquery) を実行しましたが、Chrome ブラウザーで作業しているだけです。常にエラー関数が起動されます (常に if 文「Nav on」に入ります):

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

function onDeviceReady(){
    if (navigator.geolocation) { 
        alert('Nav on');
        setTimeout(function(){
        navigator.geolocation.getCurrentPosition(function(position){
            alert("success " + position.coords.latitude + ' , ' + position.coords.longitude)
        }, function(error){
            alert('code: '    + error.code    + '\n' +
              'message: ' + error.message + '\n');
        },
        {enableHighAccuracy:true});
        }, 600);
    }else{
        alert('Nav off');
    }
};

私のコードの何が問題なのですか?私はこれについて週末中ずっと働いてきましたが、何もありません

PS、私はテスト用に samsung galaxy s2 を持っていますが、私の英語について申し訳ありません。

エラーメッセージに次のように書かれていることを忘れています:

コード: 2
メッセージ: Geolocation サービスを開始できませんでした

4

2 に答える 2

-1

一部の Android デバイス

navigator.geolocation.getCurrentPosition()

enableHighAccuracy オプションを true に設定しない限り、位置情報は返されません。navigator.geolocation への呼び出しを次のように置き換えます。

navigator.geolocation.getCurrentPosition(onSuccess, onError,{enableHighAccuracy: true});
于 2013-09-30T23:56:10.343 に答える