IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

APIs Google Discussion :

Interdire la géolocalisation si coordonnées sur terre [Google Maps]


Sujet :

APIs Google

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 320
    Points : 74
    Points
    74
    Par défaut Interdire la géolocalisation si coordonnées sur terre
    Bonjour,

    Je n 'arrive pas a trouver sur le net une solution pour interdire la géolocalisation si je me trouve sur terre. Pour faire simple je géolocalise mon bateau grâce a un script que j 'ai créer en html5 via mon iPhone je voudrais pour éviter les erreurs interdire la géolocalisation sur les coordonnées terrestre

    Avez vous une idée pour m'aider


    Ps voici le resultat : http://www.maritime-position.fr/

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 070
    Points : 44 677
    Points
    44 677
    Par défaut
    Bonjour,
    - création d'un Polygon
    - test si les coordonnées sont dans celui ci.

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 320
    Points : 74
    Points
    74
    Par défaut
    Bonjour,

    J'avais bien pensé a cela.... il n y a donc pas de fonction pour cela ?

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 070
    Points : 44 677
    Points
    44 677
    Par défaut
    La géolocalisation renvoies des coordonnées lat/lng et ce indépendamment, ou presque, de l'endroit ou l'on se trouve.
    Tu peux toujours utiliser la méthode google.maps.Geocoder() mais celle ci ne te renverra pas l'information "MER" et au pire te donnera une adresse terrestre si tu te trouves sur le bassin d'Arcachon comme dans ton exemple.

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 320
    Points : 74
    Points
    74
    Par défaut
    Merci pour ta réponse NoSmoking. Je comprends bien que je vais devoir passer par un polygone ou je suis dans le polygone et c'est ok si non pas de géolocalisation.


    Voici mon polygone

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    new google.maps.LatLng(44.774524,-1.163864),
    new google.maps.LatLng(44.696481,-1.240768),
    new google.maps.LatLng(44.551824,-1.28746),
    new google.maps.LatLng(44.55476,-1.248322),
    new google.maps.LatLng(44.63788,-1.114426),
    new google.maps.LatLng(44.642124,-0.998082),
    new google.maps.LatLng(44.685254,-1.010742),
    new google.maps.LatLng(44.774524,-1.163864),
    Et voici le code pour la géolocalisation .C'est la que je n 'arrive pas a comprendre comment faire pour interdire ou accepter la geolocalisation. Je n 'arrine pas a structurer ce script as tu une idée ?


    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    <!DOCTYPE html>
    <html>
    <head>
       <meta name="viewport" content="width=device-500, height=device-300">
      <style type="text/css">
    @font-face {
    font-family: "arial";
    src: url(arial.ttf) format("truetype");
    }
      </style>
      <script type="text/javascript">
    function startWatch(){
    if (navigator.geolocation)
    var watchId = navigator.geolocation.watchPosition(successCallback,
    errorCallback,
    {enableHighAccuracy:true,
    timeout:10000,
    maximumAge:0});
    else
    alert("Votre navigateur ne prend pas en compte la géolocalisation HTML5");
    }
    function stopWatch(){
    navigator.geolocation.clearWatch(watchId);
    } function successCallback(position){
    window.location.href = "main.php?lat=" + position.coords.latitude + "&long=" + position.coords.longitude;
    document.getElementById("lat").innerHTML = position.coords.latitude;
    document.getElementById("long").innerHTML = position.coords.longitude;
    document.getElementById("prec").innerHTML = position.coords.accuracy;
    document.getElementById("alt").innerHTML = position.coords.altitude;
    document.getElementById("precalt").innerHTML = position.coords.altitudeAccuracy;
    document.getElementById("angle").innerHTML = position.coords.heading;
    document.getElementById("speed").innerHTML = position.coords.speed;
    document.getElementById("time").innerHTML = new Date(position.timestamp);
    }; function errorCallback(error){
    switch(error.code){
    case error.PERMISSION_DENIED:
    alert("L'utilisateur n'a pas autorisé l'accès à sa position");
    break;
    case error.POSITION_UNAVAILABLE:
    alert("L'emplacement de l'utilisateur n'a pas pu être déterminé");
    break;
    case error.TIMEOUT:
    alert("Le service n'a pas répondu à temps");
    break;
    }
    };
      </script>
      <title>id_02</title>
     
    <body alink="#ffffff" bgcolor="#033333" link="#ffffff" text="#ffffff" vlink="#ffffff">
    </head>
    <body onload="startWatch();">
    <?php include("main.php");?>
    </body>
    </html>

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 070
    Points : 44 677
    Points
    44 677
    Par défaut
    C'est dans ta fonction successCallback que tu dois gérer cela, mais comme tu fais une redirection c'est dans la page appelée que cela doit se passer.

  7. #7
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 320
    Points : 74
    Points
    74
    Par défaut
    Donc c'est ici

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    $lat = $_GET['lat'];
    $long = $_GET['long'];
    $virg=(",");
     
    echo ("<b><font size=\"-5\">$lat</font></b>");
    echo"<br>";
     
    echo ("<b><font size=\"-5\">$long</font></b>");
     
    echo"<br>";
     
     
    echo ("<b><font size=\"1\">Position  ok!</font></b>");
     
    $fp = fopen("fichier.txt","w");
        fwrite($fp,"$lat$virg$long");
       fclose($fp);

  8. #8
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 070
    Points : 44 677
    Points
    44 677
    Par défaut
    je ne vois nulle part un quelconque test dans ce que tu montres mais juste un enregistrement des lat/lng, qui par ailleurs ne sont même pas testées.

    Un exemple de géolocalisation Géolocalisation automatique

  9. #9
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 320
    Points : 74
    Points
    74
    Par défaut
    Bonjour Nosmoking,
    Effectivement je ne test rien ici. Comme je connais ici mes deux variables je souhaiter faire la comparaison de celle si pour savoir si elles sont a l’intérieure de mon polygone ou non .Comparer des variables en php je sais faire mais la je n’arrive pas savoir et même a comprendre comment faire pour cet histoire de polygone. Si j’ai bien compris ce que tu écris plus haut toi tu ferais le test directement dans le code de geolocalisation. Bon je vais essayer de comprendre avec mes petites connaissances le principe. Encore merci

  10. #10
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 070
    Points : 44 677
    Points
    44 677
    Par défaut
    Il y a plusieurs approches.

    Si tu désires afficher la position via un marqueur dans ce cas il est tout à fait envisageable de le faire via l'API googleMap.

    Si c'est juste pour prévenir l'internaute que il ne t'a pas données une position de baigneur, coté serveur devrait suffire, il y a pas mal de source sur la toile pour tester l'appartenance ou non à un polygone.

    Comment récupères tu la localisation, en automatique, en manuel, par pointage sur une carte, cette dernière solution peut également amener à faire le test coté client.

  11. #11
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 320
    Points : 74
    Points
    74
    Par défaut
    Bonjour Nosmoking,


    Je récupère la géolocalisation manuellement par un action touche écran donc un clique sur << localisez vous>> puis il y a le script de géolocalisation qui inscrit les coordonnées dans un fichier txt qui lui même est exploité par le script google map. C est certainement simpliste mais je n'ai pas su faire mieux :=)

    cdt

  12. #12
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 070
    Points : 44 677
    Points
    44 677
    Par défaut
    Je dirais donc a priori à traiter coté serveur avant retour des infos.
    C est certainement simpliste mais je n'ai pas su faire mieux
    si c'est suffisant pas de raison de faire "mieux"

  13. #13
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 320
    Points : 74
    Points
    74
    Par défaut
    c'est clair !

    Si c'est juste pour prévenir l'internaute que il ne t'a pas données une position de baigneur, coté serveur devrait suffire, il y a pas mal de source sur la toile pour tester l'appartenance ou non à un polygone.
    c'est exactement cela j 'ai trouvé en php des pistes mais je ne suis pas assez caler en ce domaine . J irais bien sur le forum php mais il va faloir que je recommence toutes mes explications je t'avoue que je fatigue un peu

    bon week end a toi et merci d'&voir pris le temps de me donner a réfléchir sur la meilleur méthode

  14. #14
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 320
    Points : 74
    Points
    74
    Par défaut
    Je pense qu'il serait plus simple d'interdir la geolocalisation dés la géolocalisation.

    Donc ici j 'ai le code

    Aucune de mes recherche ne me permettre de trouver polygone est geolocalisation sauf avec une carte google mais la je suis avec le geocoder pas en présence de la fabrication .... alors commet faire mon test sur un polygone et je n'ai pas trouver d'explication sur ce code couplé au un script determine un polygone .... C'est la mon grand probléme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    function startWatch(){
    if (navigator.geolocation)
    var watchId = navigator.geolocation.watchPosition(successCallback,
    errorCallback,
    {enableHighAccuracy:true,
    timeout:10000,
    maximumAge:0});
    else
    alert("Votre navigateur ne prend pas en compte la géolocalisation HTML5");
    }
    function stopWatch(){
    navigator.geolocation.clearWatch(watchId);
    } function successCallback(position){
    window.location.href = "main.php?lat=" + position.coords.latitude + "&long=" + position.coords.longitude;
    document.getElementById("lat").innerHTML = position.coords.latitude;
    document.getElementById("long").innerHTML = position.coords.longitude;
    document.getElementById("prec").innerHTML = position.coords.accuracy;
    document.getElementById("alt").innerHTML = position.coords.altitude;
    document.getElementById("precalt").innerHTML = position.coords.altitudeAccuracy;
    document.getElementById("angle").innerHTML = position.coords.heading;
    document.getElementById("speed").innerHTML = position.coords.speed;
    document.getElementById("time").innerHTML = new Date(position.timestamp);
    }; function errorCallback(error){
    switch(error.code){
    case error.PERMISSION_DENIED:
    alert("L'utilisateur n'a pas autorisé l'accès à sa position");
    break;
    case error.POSITION_UNAVAILABLE:
    alert("L'emplacement de l'utilisateur n'a pas pu être déterminé");
    break;
    case error.TIMEOUT:
    alert("Le service n'a pas répondu à temps");
    break;
    }
    };
      </script>

  15. #15
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 320
    Points : 74
    Points
    74
    Par défaut
    Bon je répond a moi même LOL

    J'ai trouvé si c'est utile à quelqu’un http://www.maritime-position.fr/poli2.php

    Bon je cherche encore .....

  16. #16
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 070
    Points : 44 677
    Points
    44 677
    Par défaut
    Super la source que tu as trouvé, et pour cause

    Bon trêve d'auto satisfaction, la méthode utilisée est dépassé il faudra que je pense à mettre à jour, mais le concept est le même.

    Si tu utilises l'API googleMap il t'est tout à fait possible de faire le test dans la function successCallback, mais j'ai bien peur que l'on soit revenu au point de départ !!!

  17. #17
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 320
    Points : 74
    Points
    74
    Par défaut
    Mes dit Moi Si je comprend bien ou quoi que je fasse ou que j'y aille Nosmoking est toujour là

    [ Droit d'auteur A Mr Goldman ]

    ou alors you are my destiny re lo

    je n'utilise pas api G pour la 1er partie du script mais alors comment faire pour tester si mon smartphone est bien dans mon polygone

    c'est la que cela se passe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function successCallback(position) {
      // = >>>>>>>>>est ce la bonne place pour tester
      window.location.href = "main.php?lat=" + position.coords.latitude + "&long=" + position.coords.longitude;
      document.getElementById("lat").innerHTML = position.coords.latitude;
      document.getElementById("long").innerHTML = position.coords.longitude;

  18. #18
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 070
    Points : 44 677
    Points
    44 677
    Par défaut
    Si tu souhaites traiter cela coté serveur, tu fais tout dans ta page main.php, sinon tu peux effectivement le faire coté client et c'est effectivement avant envoi que tu fais le test et si ok tu envoies pour la suite.

  19. #19
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 320
    Points : 74
    Points
    74
    Par défaut
    Merci de ta réponse.

    ok je comprends , mais bon la cela dépasse mes compétences


    Merci encore de tes conseils

    @plus

  20. #20
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 070
    Points : 44 677
    Points
    44 677
    Par défaut
    Pour le moment il ne s'agit pas de problème de compétences mais il me semble plutôt que le soucis et dans la définition du besoin.

    1/
    récupération de la géolocalisation
    2/ test si la position est comprise dans un polygone
    - SI dans polygone que fait-on????
    - SINON on enregistre la position dans un fichier texte
    ...MAIS que fait-on après ????

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Aficher les coordonneés sur bouton
    Par pod1978 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 27/04/2006, 16h35
  2. Comment récupérer les coordonnées sur le bureau d'une form ?
    Par fma2112 dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 22/02/2006, 23h43
  3. Une infobulle à partir des coordonnées sur une image
    Par dark_vidor dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/01/2006, 21h20
  4. Interdire à X d'écrire sur le disque dur, possible ?
    Par Michaël dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 29/10/2004, 16h50
  5. Existe-t-il des Dé-compilateurs sur Terre?
    Par Julien_riquelme dans le forum Autres éditeurs
    Réponses: 11
    Dernier message: 15/12/2003, 01h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo