2016-08-09 81 views
0
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAiv004_zrkpEL-v1u-LU6QYIkgv7yjT_M&language={{ Lang::getLocale() }}&libraries=places&" /> 
<script type="text/javascript"> 
    google.maps.event.addDomListener(window, 'load', function() { 

     var options = { 
      types: ['(cities)'] 
     }; 

     var places = new google.maps.places.Autocomplete(document.getElementById('location')); 

     var inputLat = $("input[name*='lat']"); 
     var inputLng = $("input[name*='lng']"); 
     var inputPlaceId = $("input[name*='place_id']"); 

     google.maps.event.addListener(places, 'place_changed', function() { 
      var place = places.getPlace(); 
      var address = place.formatted_address; 
      var latitude = place.geometry.location.lat(); 
      var longitude = place.geometry.location.lng(); 
      var placeId = place.place_id; 

      inputLat.val(latitude); 
      inputLng.val(longitude); 
      inputPlaceId.val(placeId); 
     }); 
    }); 


    $('#location').keypress(function(e) { 
     if (e.which == 13) { 
      google.maps.event.trigger(autocomplete, 'place_changed'); 
      return false; 
     } 
    }); 
</script> 

Ich brauche es, um nur Städte anzuzeigen, aber irgendwie bekomme ich auch Länder .. Ich will keine Kontinente und Länder anzeigen. bitte helfenAutocomplete auf Google Map API sollte nur Städte

Antwort

0

Wenn Sie die Autovervollständigung documentation überprüfen, ist es hier angegeben wird, dass:

die (cities) Art Sammlung den Places-Dienst anweist Ergebnisse zurück, die entweder Lokalität oder administrative_area3 passen

So Wie du es getan hast, brauchst du die Städte als Typenparameter.

Sie können das Land im Google API-Aufruf mithilfe des Regionsparameters angeben. Überprüfen Sie diese tutorial auf, wie man das macht. Hier

ist die Probe Anfrage:

= javascript_include_tag "http://maps.google.com/maps/api/js?v=3.13&sensor=false&libraries=places&region=UK" 

Für weitere Informationen besuchen Sie diese Frage SO Zusammenhang geben kann Ihnen eine Idee, wie dieses Problem zu lösen.