52 votes

L'emplacement de l'autorisation d'alerte sur l'iPhone avec PhoneGap

Comment voulez-vous changer la chaîne de l'alerte disant:

(Appname/quel qu'il soit) souhaitez utiliser votre emplacement actuel

Bien sûr, je ne veux changer le nom de la partie. Parce que lorsque vous utilisez le framework PhoneGap, la chaîne est très laid, quelque chose comme ceci:

/var/mobile/Applications/157EB70D-4AA7-826E-690F0CBE0F/appname.app/www/index.html

Quelqu'un qui a une idée?

94voto

Pius Uzamere Points 798

Vous avez besoin de faire de la géolocalisation après que l'appareil est prêt. La suite de Jquery, par exemple, permettra de géolocaliser sans que le méchant de l'alerte:

$(function(){
  document.addEventListener("deviceready", onDeviceReady, false);
})

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

function onSuccess(position) {
  // your callback here 
}

function onError(error) { 
  // your callback here
}

17voto

Robert Verge Points 71

Sur phonegap 3.0 la réponse par Pie Uzamere doit être suivie ET le plugin installé.

cordova plugin ajouter https://git-wip-us.apache.org/repos/asf/cordova-plugin-geolocation.git

autrement, vous obtiendrez le double de demande d'autorisation.

13voto

Shozab Hasan Points 116

J'ai simplement suivi la documentation et résolu. Ouvrez le terminal et cd à votre projet et entrez la commande suivante. $ plugin cordova ajouter https://git-wip-us.apache.org/repos/asf/cordova-plugin-geolocation.git

Également l'ajouter dans votre config.xml

<feature name="Geolocation">
    <param name="ios-package" value="CDVLocation" />
</feature>

Il permettra de résoudre ce problème. :)

Source: http://docs.phonegap.com/en/3.0.0/cordova_geolocation_geolocation.md.html#The%20Command-line%0AInterface

7voto

ToughPal Points 603

Enfin résolu le problème.

DANS le index.html il suffit de déplacer votre cordova.js jusqu'

<script src="cordova.js"></script>

comme le premier fichier js à inclure (surtout assurez-vous qu'il est au-dessus de cartes comprennent js). Cela permettra de s'assurer que l'invite affiche qu'une seule fois.

Aucun autre codejs ou ondeviceready est nécessaire.

2voto

Kyle Suss Points 123

Aucune des réponses ci-dessus, a travaillé pour moi. Ma demande d'emplacement était déjà ouvert le feu sur deviceready. Adjonction à config.xml correction du problème:

<gap:plugin name="org.apache.cordova.core.geolocation" />

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X