2016-08-09 2 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> 

도시 만 표시하려면 필요하지만 어떻게 든 국가를 얻으려면 ... 대륙과 국가를 표시하고 싶지 않습니다.Google지도 자동 완성 API는 도시 만 반환해야합니다.

(cities) 타입 컬렉션

그러니 지역 또는 administrative_area3 일치 결과를 반환하도록 지역 정보 서비스에 지시 : 당신이 자동 완성 documentation을 선택하면이 것을 여기 적혀있다

답변

0

도와주세요 당신이했던 것처럼, 당신은 types 매개 변수로서 도시를 필요로합니다.

지역 API를 사용하여 Google API 호출에서 국가를 지정하면됩니다. 이를 수행하는 방법에 대해서는 tutorial을 확인하십시오. 자세한 내용은

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

,이 SO 관련 그것은 당신에게이 문제를 해결하는 방법에 대한 아이디어를 제공 할 수 있습니다 질문을 확인 : 여기

는 샘플 요청입니다.

관련 문제