2016-11-28 4 views
0

私の要件は、バンガロールの場所についてのみGoogleプレイスのオートコンプリート提案を得ることですが、バンガロール以外の場所を検索しても、私は欲しくない提案を得ることができます。私は私の質問に関連する多くのstackoverflowリンクを見つけましたが、誰も私の問題を解決していません。Googleマップのオートコンプリートを特定の都市のみに制限するにはどうすればよいですか?

これは特定の都市の提案を得ることは可能ですか?

私は以下の私のコードを共有しています: -

var input = (document.getElementById('address')); 
      var s_w = new google.maps.LatLng(12.97232, 77.59480); //southwest 
      var n_e = new google.maps.LatLng(12.89201, 77.58905); //northeast 
      var b_bounds = new google.maps.LatLngBounds(s_w, n_e); //bangalorebounds 

var options = { 
      bounds:b_bounds, 
      componentRestrictions: {country: "in"} 
      }; 
var autocomplete = new google.maps.places.Autocomplete(input, options); 

autocomplete.bindTo('bounds', map); 

autocomplete.addListener('place_changed', function() { 

    //rest_of_the_code 

}); 

誰かが助けてください!

答えて

1

私はあなたがこれを試すことができると思います。

var cityBounds = new google.maps.LatLngBounds(
    new google.maps.LatLng(25.341233, 68.289986), 
    new google.maps.LatLng(25.450715, 68.428345)); 

var options = { 
    bounds: cityBounds, 
    types: ['geocode'], 
    componentRestrictions: {country: 'est'} 
}; 

があなたの国コードとLatLng自分の価値観と価値とcountryを交換してください。

+0

これは他の都市の提案も提供しています – sajalsuraj

+0

https://developers.google.com/maps/documentation/javascript/reference#AutocompletionRequestによれば、あなたは 'bounds'と' componentRestriction'を使うことができます。もう1つの方法は 'location'を使うことです。あなたがAPIで使う場所に基づいて提案します。 –

+0

ok私は場所の代替と試してみます – sajalsuraj

1

境界線を使用して結果を偏らせることはできますが、現時点では都市の厳しいフィルタは自動補完されていません。

あなたは公共の問題追跡で、より厳格なフィルタを追加する機能要求を見つけることができます。

https://code.google.com/p/gmaps-api-issues/issues/detail?id=4433

ご関心を表明し、Googleからの更新情報を受信するために、この機能要求を主演してください。

+0

ありがとう...しようとする.. – sajalsuraj

3

このようにしてください。

var bangaloreBounds = new google.maps.LatLngBounds(
    new google.maps.LatLng(12.864162, 77.438610), 
    new google.maps.LatLng(13.139807, 77.711895)); 

var autocomplete = new google.maps.places.Autocomplete(this, { 
    bounds: bangaloreBounds, 
    strictBounds: true, 
}); 

autocomplete.addListener('place_changed', function() { 

}); 

注:URLは次のようになります。https://maps.googleapis.com/maps/api/js?libraries=places&key=YOUR_API_KEY

strictBounds optionは、現在(2017年1月)実験的バージョンである地図のJavaScript APIのバージョン3.27で追加されました。

関連する問題