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 :

Google map api V3 limiter le geocoding


Sujet :

APIs Google

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 57
    Points : 31
    Points
    31
    Par défaut Google map api V3 limiter le geocoding
    Bonjour,

    je suis en train de mettre au point une carte avec l'api google map v3

    et je souhaite limiter le geocoding à Neuilly-sur-seine.

    Si quelqu'un cherche une adresse que ce soit donc que recherche sur Neuilly

    voici déjà le code réaliser si quelqu'un à une solution je me suis renseigner sur le viewport basing mais ce n'est pas ça apparemment

    Code javascript : 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
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    <!DOCTYPE html>
    <html> 
    <head> 
       <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
       <title>Google Maps JavaScript API v3 Example: Limit Panning</title> 
       <script type="text/javascript" 
               src="http://maps.google.com/maps/api/js?sensor=false"></script>
               <SCRIPT type=text/javascript 
    src="http://www.google.com/jsapi?key=ABQIAAAAagFDi9TA8BHTFjb4GZKsEhT2yXp_ZAY8_ufC3CFXhHIE1NvwkxRor_cJ2gz59NOCUMH8Jc-ChI8D2A"></SCRIPT>
     
     
     
    </head> 
    <body> 
    <div>
        <input id="address" type="textbox" value="82 avenue Charles de Gaulle Neuilly">
        <input type="button" value="Encode" onclick="codeAddress()">
      </div>
       <div id="map" style="width: 100%; height: 400px;"></div> 
     
       <script type="text/javascript"> 
     
       var minZoomLevel = 14;
       var geoCodeur;
       geocoder = new google.maps.Geocoder();
       var map = new google.maps.Map(document.getElementById('map'), {
          zoom: minZoomLevel,
    	  maxZoom:20,
    	  minZoom:14,
    	  scaleControl: true,
          navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL},
          center: new google.maps.LatLng(48.88421032414912, 2.2668671485351544),
          mapTypeId: google.maps.MapTypeId.HYBRID
       });
     
       // Bounds pour Neuilly
       var allowedBounds = new google.maps.LatLngBounds(
         new google.maps.LatLng(48.87368300861551, 2.242276656286619), 
         new google.maps.LatLng(48.899757345074015, 2.288968550817869));
     
       // Dragend event
       google.maps.event.addListener(map, 'dragend', function() {
         if (allowedBounds.contains(map.getCenter())) return;
     
         // Out of bounds - remet la map dans les limites
     
         var c = map.getCenter(),
             x = c.lng(),
             y = c.lat(),
             maxX = allowedBounds.getNorthEast().lng(),
             maxY = allowedBounds.getNorthEast().lat(),
             minX = allowedBounds.getSouthWest().lng(),
             minY = allowedBounds.getSouthWest().lat();
     
         if (x < minX) x = minX;
         if (x > maxX) x = maxX;
         if (y < minY) y = minY;
         if (y > maxY) y = maxY;
     
         map.setCenter(new google.maps.LatLng(y, x));
       });
     
       // Limit the zoom level
       google.maps.event.addListener(map, 'zoom_changed', function() {
         if (map.getZoom() < minZoomLevel) map.setZoom(minZoomLevel);
       });
      function codeAddress() {
        var address = document.getElementById("address").value;
        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
            });
          } else {
            alert("Geocode was not successful for the following reason: " + status);
          }
        });
      } 
     
       </script> 
    </body> 
    </html>

    Merci !

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    A mon avis, le plus simple serait d'ajouter systématiquement le code postal et le pays dans adresse, ce qui forcerait la recherche sur la bonne ville.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 57
    Points : 31
    Points
    31
    Par défaut
    Comme ça tu veux dire ?
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input id="address" type="textbox" value="Neuilly, France">

    mais ce n'est pas une solution en soit dans le sens ou l'utilisateur peut supprimer cette valeur sauf si il y a un moyen de rendre cette valeur insupprimable mais de pouvoir ajouter quand même par exemple :

    "82 avenue Charles de Gaulle" devant la valeur "Neuilly, France".

    Mais Read Only ou ce genre de chose ne le permettent pas

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Non
    Ce serait plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var address = document.getElementById("address").value + 'Neuilly-sur-Seine France;

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 57
    Points : 31
    Points
    31
    Par défaut
    Hm j'ai tester ta technique mais ça ne me trouve que neuilly sur seine

    même en mettant des virgule les déplaçant etc ...

Discussions similaires

  1. google map api
    Par debutantasp dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 30/05/2008, 14h02
  2. Google Map - API Java ?
    Par onlytoine dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 28/04/2008, 11h25
  3. Utilisation de la Google Maps API ?
    Par [ZiP] dans le forum Web & réseau
    Réponses: 4
    Dernier message: 04/09/2007, 22h26
  4. Google Map API --> Javascript et code behind C#
    Par bridel dans le forum ASP.NET
    Réponses: 2
    Dernier message: 22/01/2007, 21h07
  5. google map api
    Par raphs43 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/12/2006, 20h28

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