how to get current location in phonegap?

i added Geolocation plugin in my app and used this code for getting the current location in phonegap. but this code does not work.

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

function onDeviceReady() {
    alert("4");
    navigator.geolocation.getCurrentPosition(onSuccess, onError);
}

function onSuccess(position) {
    alert("1");
}

function onError(error) {
    alert("3");
}

Where is the problem in my code?

thank you and sorry for my poor english.

Upvotes: 3

Views: 10772

Answers (2)

krik
krik

Reputation: 539

On iOS this will always work one way or the other. If the plugin fails, the browser's own Geolocation API will be used. There's some undesired side effects with the fallback though:

  • The permission dialog that pop's up has the html file's name in the title instead of the app name
  • Granted permissions will only persist as long as the app is running

On Android it only works if you have set the correct permissions in app/AndroidManifest.xml:

<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" />

Upvotes: 6

AtanuCSE
AtanuCSE

Reputation: 8940

  1. check if geolocation is properly installed or not

  2. restart your phone (silly solution but it works sometimes.I faced it once)

  3. check if your geo permissions & settings are turned on in device

  4. test with this code

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

  5. If you're using android, try to get the error with eclipse logcat.

Upvotes: 7

Related Questions