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 :

geocoder google maps


Sujet :

APIs Google

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 50
    Points : 71
    Points
    71
    Par défaut geocoder google maps
    Bonjour,
    voici mon problème :
    je souhaite récupérer les coordonnées(longitude,latitude) d'une adresse entré dans une textbox, j'ai donc utilisé google maps Geocoder, mais lorsque j’appelle la fonction elle ne "se lance pas", voici le code js :

    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
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
    <script type = "text/javascript">
        function showAddress()
         {
            /* Récupération de l'adresse saisie */
             var address = document.getElementById('<%=txt_adresse.ClientID %>').value;
             var geocoder = new google.maps.Geocoder();
             /* Appel au service de geocodage */
             geocoder.geocode({ 'address': address }, function (results, status) 
             {
                /* Si l'adresse a pu être géolocalisée */
                if (status == google.maps.GeocoderStatus.OK) 
                {
                    /* Récupération latitude et longitude */
                    document.getElementById('<%=lat.ClientID %>').innerHTML = results[0].geometry.location.lat();
                    document.getElementById('<%=lng.ClientID %>').innerHTML = results[0].geometry.location.lng();
                }
                else
                    alert("erreur : " + status);
            });
        }
    </script>
    le code asp.net contenant les contrôles labels,bouton et textbox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <asp:Label ID="lat" runat="server"></asp:Label>
        <asp:Label ID="lng" runat="server"></asp:Label>
        <asp:Button ID="bt_coord" runat="server" Text="Button" />
        <asp:TextBox ID="txt_adresse" runat="server"></asp:TextBox>
    et le code vb.net qui appelle la fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    bt_coord.OnClientClick = "showAddress()"
    End Sub
    Le problème ne vient pas des getElementById car j'ai testé et je récupère bien le contenu du textbox dans mon label :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('<%=lat.ClientID %>').innerHTML = address
    J'ai l'impression que le code n'entre pas dans le geocoder, j'ai placé un alert() en début de fonction qui à été lancé et un dans le geocoder qui n'a jamais été lancé, je ne c'est pas si cela vient d'un erreur ou s'il manque une référence ...
    merci à vous.

  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
    Bonsoir,
    pas un spécialiste, loin s'en faut, de VB.NET mais la syntaxe me choque
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    bt_coord.OnClientClick = showAddress()
    et pourquoi ne pas mettre directement dans la balise
    Code asp : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:Button ID="bt_coord" OnClientClick="showAddress()" runat="server" Text="Button" />

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 50
    Points : 71
    Points
    71
    Par défaut
    bonjour et merci pour ta réponse, il faut mettre des "" pour appeler la fonction coté vb.net, et le fait d'assigner la propriété coté asp.net ou coté vb.net ne change rien ... si tu à une autre idée je suis preneur, merci

  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
    Observes peut être le code HTML généré, je ne vois pas d'erreur dans ta fonction showAddress.

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 50
    Points : 71
    Points
    71
    Par défaut
    j'ai réussi à obtenir les coordonnées d'une adresse grâce à l'événement load :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    google.maps.event.addDomListener(window, 'load', showAddress);
    mais je souhaite obtenir les coordonnées de l'adresse contenu dans ma textbox lors de l'événement click de mon bouton.
    l'événement OnClientClick de mon bouton ne donné rien, je décide donc de procéder de la même façon en essayant ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    google.maps.event.addDomListener(document.getElementById('<%=bt_coord.ClientID %>').OnClientClick, 'click', showAddress);
    mais sans résultat ... est-ce qu'il y a un moyen de récupérer les coordonnées de mon adresse lors du click sur mon bouton ?

    Cette fonction ne gère peut être que des événements sur la carte ? je ne connais pas trop le javascript, je ne souhaite pas de carte je veux juste récupérer les coordonnées d'une adresse (même s'il y a une autre façon je suis preneur) entré dans une textbox afin de pouvoir les insérés dans une base de données .
    merci

  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
    la méthode google.maps.event.addDomListener attend en premier paramètre un objetDOM alors que tu lui passes un événement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    google.maps.event.addDomListener(document.getElementById('<%=bt_coord.ClientID %>'), 'click', showAddress);

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 50
    Points : 71
    Points
    71
    Par défaut
    une nouvelle fois merci pour ta réponse mais malheureusement sa ne fonctionne toujours pas de cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    google.maps.event.addDomListener(document.getElementById('<%=bt_coord.ClientID %>'), 'click', showAddress);
    ou de celle-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     google.maps.event.addDomListener(document.getElementById('bt_coord'), 'click', showAddress);
    je n'arrive pas à trouver une façon de récupérer les coordonnées d'une ville lors de l'événement "click sur un bouton", sinon je vais essayé de récupérer les coordonnées d'une autre façon ...

  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
    Une autre chose à regarder, c'est l'utilité de runat="server" dans la déclaration de ton bouton, javascript étant effectué coté client, je le virerais, mais bon je ne connais pas ASP!

  9. #9
    Membre régulier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 50
    Points : 71
    Points
    71
    Par défaut
    C'est bon ça fonctionne, c'était juste à cause du postback ... je perdais les valeurs à chaque fois, j'ai fait un test avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="button" onclick="showAddress()" />
    et cela à fonctionné, j'ai ensuite mis mon bouton dans un update panel et ça fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                 <asp:Button ID="bt_coord" OnClientClick="showAddress()" runat="server" Text="geocoder" />
            </ContentTemplate>
    </asp:UpdatePanel>
    merci à toi pour ton aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Google Maps] Plusieurs geocode Google map v3
    Par Sebastienb23 dans le forum APIs Google
    Réponses: 0
    Dernier message: 07/04/2011, 11h44
  2. [Google Maps] Google Map v2 - GeoCoder - Customisation d'un Marker
    Par delete dans le forum APIs Google
    Réponses: 1
    Dernier message: 30/10/2010, 22h03
  3. Geocoding Google Map
    Par g25452 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 01/06/2010, 11h28
  4. [Google Maps] geocoder
    Par yahou29 dans le forum APIs Google
    Réponses: 1
    Dernier message: 29/11/2009, 00h51
  5. [Google Maps] API v3 geocoder
    Par yahou29 dans le forum APIs Google
    Réponses: 1
    Dernier message: 29/11/2009, 00h43

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