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

あなたは(あなたが既に持っている)のバイアスを設定することができますが、実際には追加のコードと、各オートコンプリートの結果を確認することなく、あなたは私の知る限り、特定の国や地域にオートコンプリートリストを制限することはできません。

ここでは、Googleのオートコンプリートにいくつかの詳細は次のとおりです。http://code.google.com/apis/maps/documentation/places/autocomplete.html#place_autocomplete_requests

ああ、あなたは地理オートコンプリートのプラグインを使用したい場合は、この例を見てみ:

ビューソース:のhttp:/は

/geo-autocomplete.googlecode.com/svn/trunk/demo/ui.demo.htmlこれは、彼らの例からではありません:

$('#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

ジオオートコンプリートには追加のプラグインが必要です。 geocoder_regionを使用してより絶対的なフィルタを提供するデモで私の答えをうまく説明しました。 – Derek

+0

その例は動作しません(FFとIEの両方)私はid: "searchTextField"を使ってコードを試してみましたが、動作しません。 – BastiaanWW

2

何も変更する必要はありませ - {country: 'NL'} put optionsの代わりにグローバル変数オプションを作成するだけです。 使用する前にOptionを宣言してください。

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

今、あなたの行は次のようになります。

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

ホープ仕事あなたのために - ! ありがとう、 Kavi(インド)

関連する問題