2011-11-09 5 views
1

특정 국가의 장소에 대한 입력란을 내 웹 사이트에 자동 완성으로 표시하고 싶습니다. 예를 들어, 아래 코드에서 '네덜란드'국가 내의 장소 만 자동 완성에 대한 제안으로 받고 싶습니다.특정 국가의 지역 자동 완성

아래 코드에서 특정 국가에 대해 지정되지 않은 모든 국가의 장소에 대한 제안이 표시됩니다.

<!DOCTYPE html> 
<html> 

    <head> 
<title>Google Maps JavaScript API v3 Example: Places Autocomplete</title> 
<script src="http://maps.googleapis.com/maps/api/js?sensor=false&libraries=places" 
    type="text/javascript"></script> 

<style type="text/css"> 
    body { 
    font-family: sans-serif; 
    font-size: 14px; 
    } 
    #map_canvas { 
    height: 400px; 
    width: 600px; 
    margin-top: 0.6em; 
    } 
</style> 

<script type="text/javascript"> 
    function initialize() { 

    var input = document.getElementById('searchTextField'); 
    var autocomplete = new google.maps.places.Autocomplete(input, {country: 'NL'}); 

    autocomplete.bindTo('bounds', map); 

    var infowindow = new google.maps.InfoWindow(); 
    var marker = new google.maps.Marker({ 
     map: map 
    }); 

    google.maps.event.addListener(autocomplete, 'place_changed', function() { 
     infowindow.close(); 
     var place = autocomplete.getPlace(); 
     if (place.geometry.viewport) { 
     map.fitBounds(place.geometry.viewport); 
     } else { 
     map.setCenter(place.geometry.location); 
     map.setZoom(17); // Why 17? Because it looks good. 
     } 

    }); 

    setupClickListener('changetype-all', []); 

    } 
    google.maps.event.addDomListener(window, 'load', initialize); 
</script> 

</head> 
<body> 
<div> 
    <input id="searchTextField" type="text" size="50"> 
    <label for="changetype-all"></label> 
</div> 
</body> 
</html> 

답변

2

당신은 (당신이 이미 가지고) 바이어스를 설정할 수 있지만, 실제로 코드를 추가하여 각 자동 완성 결과를 확인하지 않고 내 지식, 특정 국가 나 지역에 자동 완성 목록을 제한 할 수 없습니다.

보기 소스 : HTTP :/http://code.google.com/apis/maps/documentation/places/autocomplete.html#place_autocomplete_requests

아 당신은 지리적 자동 완성 플러그인을 사용하려는 경우,이 예를 살펴 : 여기

구글의 자동 완성에 좀 더 정보입니다

$('#demo3_location').geo_autocomplete({ 
    geocoder_region: 'Africa', 
    geocoder_types: 'country', 
    mapheight: 100, mapwidth: 200, maptype: 'hybrid' 
}); 
+0

링크 : http://code.google.com/p/geo-autocomplete/ it says : geocoder_region ==> 제안 된 지역을 특정 지역에 필터링합니다. '유럽'이 가능해야한다고 생각한 이유입니다. geocoder_region으로 시도했습니다. – BastiaanWW

+0

geo-autocomplete에는 추가 플러그인이 필요합니다. geocoder_region을 사용하여 더 정확한 절대 필터를 제공하는 데모로 내 대답을 우습게 만들었습니다. – Derek

+0

그 예가 작동하지 않습니다 (FF와 IE 모두). 또한 id가 "searchTextField"인 코드를 시도했지만 작동하지 않습니다. – BastiaanWW

2

필요가 없습니다 아무것도 변경 - :

/geo-autocomplete.googlecode.com/svn/trunk/demo/ui.demo.html

이 자신의 예에서입니다 {country: 'NL'} 대신 options을 입력하는 대신 전역 변수 옵션을 만들어야합니다. 사용하기 전에 Option을 선언하십시오.

options = {types: ['(cities)'],componentRestrictions: { country: 'US' }}; 

지금 당신의 라인은 다음과 같습니다

var autocomplete = new google.maps.places.Autocomplete(input, options); 

희망 작업 당신을 위해 -! 감사합니다. Kavi (인도)

관련 문제