2017-05-20 2 views
-2

이제는 거리, 거리 번호, 주, 국가를 인쇄합니다. 거리 번호와 번지 만 인쇄 할 수 있습니까? 내 코드 :Google지도 api 자동 완성은 거리와 거리 번호 만 표시합니다.

var options = { 
      types: ['geocode'] 
     }; 
     var input = document.getElementById('address'); 
     autocomplete = new google.maps.places.Autocomplete(input, options); 
+1

거리, 거리 번호, 주, 국가를 알 수 있습니까? –

+0

google.maps.places.Autocomplete 클래스는 허용하지 않습니다. 서식을 변경할 수 없습니다. 맞춤 형식이 필요한 경우 google.maps.places.AutocompleteService 클래스를 기반으로 자체 자동 완성을 구현해야합니다. https://developers.google.com/maps/documentation/javascript/reference#AutocompleteService 문서를 확인하십시오. – xomena

답변

0

당신이있는 곳을 선택한 후 입력 값을 덮어 써서이 문제를 해결 할 수있다.

var input  = document.getElementById("address"); 
var autocomplete = new google.maps.places.Autocomplete(input, {types: ["geocode"]}); 

autocomplete.addListener("place_changed", function() { 
    var placeResult  = autocomplete.getPlace(); 
    var addressComponents = placeResult.address_components; 
    var street   = ""; 
    var number   = ""; 

    // loop through addressComponents and find the route and street_number types 
    for (var i = 0, i_len = addressComponents.length; i < i_len; i++) { 
     var addressType = addressComponents[i].types[0]; 

     switch(addressType) { 
      case "route": 
       street = addressComponents[i]["long_name"]; 
       break; 

      case "street_number": 
       number = addressComponents[i]["long_name"]; 
       break; 
     } 
    } 

    input.value = number + " " + street; 
}); 

는 최근 쉽게이 작업을 수행 할 수 있도록하는 jQuery plugin를 만들었습니다.

$("#address").geocomplete({ 
    fields: { 
    "#address" : "street address" 
    } 
}); 

이 플러그인은 당신이 선택한 장소의 결과에 따라 필드의 숫자를 자동 완성 할 수 있습니다 : 이것은 당신의 새로운 코드가 될 것입니다. 또한 사용자 정의 스타일을 추가하고, 콜백을 제공하며, 귀찮은 scrolling issue을 수정합니다.