GG Maps API : suggestion de villes

Consultez la formation Google Maps, News, Images de WebRankInfo / Ranking Metrics


rudddy
WRInaute accro
WRInaute accro
 
Messages: 2570
Inscription: 1 Aoû 2007

GG Maps API : suggestion de villes

Message le Mer Juin 09, 2010 15:24

Bonjour,

Avec l'API v3 de GG Maps, je cherche à améliorer ma géolocalisation.

je m'explique : quand on tape par exemple montigny, il existe une multitude de montigny en France

Je souhaiterais une suggestion de tous les montingy existants (avec le CP ou le département)

j'avais cela avec l'ancienne version de l'API :

Code: Tout sélectionner
function showAddress()
      {
      document.getElementById('p').value='';
      document.getElementById('save').disabled=true;

      var adresse = document.getElementById("adresse_MR").value;
      geo.getLocations(adresse, function (result)
         {
         map.clearOverlays();
         // ======== REPONSE(S) =========
         if (result.Status.code == G_GEO_SUCCESS)
            {
            // ======== Multi réponses =========
            if (result.Placemark.length > 1)
               {
               document.getElementById("message").innerHTML = "Vous avez voulu dire :";
               for (var i=0; i<result.Placemark.length; i++)
                  {
                  var p = result.Placemark[i].Point.coordinates;
                  document.getElementById("message").innerHTML += "<br>"+(i+1)+"- <a href='javascript:place(" +p[1]+","+p[0]+")'>"+ result.Placemark[i].address+"</a>";
                  }
               }
            // ======== Simple réponse =========
            else
               {
               p = result.Placemark[0].Point.coordinates;
               document.getElementById('returned_adresse').innerHTML=result.Placemark[0].address;
               place(p[1],p[0]);
               }
            }
         // ====== ERREUR ======
         else alert('Erreur : Code ' + result.Status.code);
         });
      }
   }


comment faire l'équivalent avec la v3 de l'API. pour l'instant j'ai cela :

Code: Tout sélectionner
function cherchePoint() {
    var address = document.getElementById("lieu").value + ', France';
    if (geocoder) {
      geocoder.geocode( { 'address': address}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
          map.setCenter(results[0].geometry.location);
          var marker = new google.maps.Marker({
              map: map,
              position: results[0].geometry.location
          });
        map.setZoom(12);
        } else {
          alert("Geocode was not successful for the following reason: " + status);
        }
      });
    }
  }


merci à vous


rudddy
WRInaute accro
WRInaute accro
 
Messages: 2570
Inscription: 1 Aoû 2007

Re: GG Maps API : suggestion de villes

Message le Lun Juin 14, 2010 13:30

pas d'idées ?


spout
WRInaute accro
WRInaute accro
 
Messages: 4379
Inscription: 14 Mai 2003

Re: GG Maps API : suggestion de villes

Message le Lun Juin 14, 2010 13:33

Je viens d'utiliser ce tuto pour faire un auto complete avec la v3:
http://tech.cibul.org/geocode-with-google-maps-api-v3/

Ex: -http://iziads.be/fr/annonces/form

(Sorry j'avais pas vu ton topic)


rudddy
WRInaute accro
WRInaute accro
 
Messages: 2570
Inscription: 1 Aoû 2007

Re: GG Maps API : suggestion de villes

Message le Lun Juin 14, 2010 13:49

comment as tu ne pas le voir ? tu es vraiment impardonnable :twisted:

allez une reco :D

sinon merci pour le lien je file l'implémenter (sauf que ca me soule en jquery :-()


spout
WRInaute accro
WRInaute accro
 
Messages: 4379
Inscription: 14 Mai 2003

Re: GG Maps API : suggestion de villes

Message le Lun Juin 14, 2010 13:58

Le result du geocoder étant assez complexe, j'ai fait dû faire une petite fonction JS qui parse les "results" du geocoder pour retourner le champ qu'on veux: city, postal_code,...

http://code.google.com/intl/fr/apis/maps/documentation/geocoding/index ... ml#Results

Code: Tout sélectionner
function address_component(results, address_type, name_type){
   var address_type = (address_type == null) ? 'country' : address_type;
   var name_type = (name_type == null) ? 'long_name' : name_type;

   if(results.length>0){
      var res = results[0];
      for(i=0; i<res.address_components.length; i++){
         for(j=0; j<res.address_components[i].types.length; j++){
            if(res.address_components[i].types[j] == address_type){
               if(res.address_components[i][name_type]){
                  return res.address_components[i][name_type];
               }
            }
         }
      }
   }
}


Et avec cette fonction j'ai pu faire:
Code: Tout sélectionner
var country = address_component(results, 'country', 'short_name');
var city = address_component(results, 'locality', 'long_name');

country prend la valeur (BE, FR, ...)

Tu peux regarder dans le source du formulaire de mon site d'annonce.

Edit:
En faisant le test avec "montigny", ça ne renvoie que "Montigny-le-Bretonneux, France".
Pourtant si on va sur http://maps.google.be/ et qu'on tape "montigny" ça en renvoie 10 en France.
Je vais regarder pour savoir ce qu'il faut changer pour avoir le même comportement que sur Google Maps.

Edit 2:
Même avec une requête HTTP vers l'API Geocoding (v3), "Montigny, France" ne retourne qu'un résultat :?
http://maps.google.com/maps/api/geocode/xml?sensor=false&address=monti ... ,%20france


rudddy
WRInaute accro
WRInaute accro
 
Messages: 2570
Inscription: 1 Aoû 2007

Re: GG Maps API : suggestion de villes

Message le Lun Juin 14, 2010 16:32



spout
WRInaute accro
WRInaute accro
 
Messages: 4379
Inscription: 14 Mai 2003

Re: GG Maps API : suggestion de villes

Message le Lun Juin 14, 2010 16:38

Oui mais les autres ne sont pas dans les suggestions :?

Idem sur le tuto de Touraine Verte: http://www.touraineverte.com/aide-documentation-exemple-tutoriel-didac ... e-maps.htm (oufti un peu long l'URL)


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Maps, Google News et Google Images : apprenez comment optimiser le référencement de votre site pour la recherche universelle et notamment Google Maps, Google Actualités et Google Images. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

  • Suggestion de mots Google
    Cet outil vous permet d'obtenir une liste de 10 mots ou expressions suggérés par Google sur la base d'un mot que vous fournissez.
  • Suggestion de mots
    Cet outil vous fournit une liste de mots sémantiquement proches du mot que vous fournissez en entrée. Il peut servir à vous donner des idées de mots à utiliser sur vos pages, voire de contenus à ajouter.


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités