3

GoogleプレイスのAPIを使用する自動入力フィールドを持つ単純なgrailsアプリケーションがあります。コードは次のとおりですGoogle場所のオートコンプリートの制限の種類と非表示のキー

<label for="city"> 
    <input id="city" name="city"> 
</label> 
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=places&key=myKey"></script> 
<script> 
    var input = document.getElementById('city'); 
    var searchBox = new google.maps.places.SearchBox(input); 
</script> 

これはうまくいきますが、これは都市、州、国などの情報を提供します。私は都市と州/唯一の州しか必要としない、私は国を望んでいない。

Boston, MA, United States - Is the results that I get and i Need it to look like 

Boston, MA Or MA 

私は受け取った応答にテンプレートを追加する方法はありますか? (私はしかし、対応していない国で、世界中からの街や状態を必要とする)

私はさてあなたはかなり特定の国へのあなたのgoogle-map search結果を絞り込むことができます、アドバンス

+0

ここには2つの質問があります。鍵を別の質問で保護することについて尋ねてください。そうすれば、別々に答えることができます。 – spiv

+0

完了、私の質問を修正しました。もう1つの質問はこの[link](http:// stackoverflow。com/questions/39657161/google-places-autocomplete-hide-key) – Visahan

答えて

1

のおかげで、このAPIに新たなんです簡単に。

だけ

//options for restricting the search result to "US" 
var options = { 
    types: ['(cities)'], 
    componentRestrictions: {country: "us"} 
}; 

//Search box code 
var input = document.getElementById('city'); 
var searchBox = new google.maps.places.Autocomplete(input, options); 

公式国名コードリファレンス以下のようなあなたのオートコンプリート機能にoptionを渡す:ヴィシャルは彼がオーバー都市だけを生成するために、検索を希望していることを述べたように https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#AM

全世界、私は恐れていますが、Googleマップには検索結果のすべての国の都市名のみを与えるような施設はありません

ユーザーがアドレスを選択した後で入力値を変更することができます(国を削除する)。

はコードの下に追加します。

//Search box code 
var input = document.getElementById('city'); 
var searchBox = new google.maps.places.Autocomplete(input); 

//adding event listener over the input box 
google.maps.event.addListener(searchBox, 'place_changed', function() { 
     var place = searchBox.getPlace(); 

     //remove the country part from search result 
     var rquiredAddress = place.formatted_address.slice(0, place.formatted_address.lastIndexOf(","));; 
     $("#city").val(rquiredAddress); 
}); 

だけ意見が が異なる国での同様の都市名の数であるかもしれないし、それが ユーザーを混乱させるだろうとして、あなたが検索で国の一部を維持する必要があります。

+0

私の要件は1つの国に限られていません。私は少しの研究をしていたときにこの解決策を見つけました。私は世界中の都市や州を取得する必要があります。ちょうど私は結果に国名が欲しいとは思わない。当初はgd.geobytes.com/AutoCompleteCity APIを使用していましたが、このパラメータには、必要なレスポンスとして都市と州を設定できるテンプレートパラメータがあります。しかし、それは混在したコンテキストの読み込みの問題があったので、私はGoogleの場所APIを見ている。現在私はgeobytesからのものに類似した要求にパラメータを見つけることを試みています。 – Visahan

+0

私は自分の答えを更新しました。それはまさにあなたが探しているものではありません。 –

1

残念ながら、これはAPIを通じてまだ利用できません。これを手動で行うか、カスタマイズテキストにAPIレスポンスをフィルタリングする関数を作成するだけです。

参考文献:

また、あなたは、このために保留機能の要求が既に存在するかどうかを確認するためにPlaces API Feature requestを確認することができます。そうでない場合は、Feature requestを提出することができます。

希望すると便利です。

関連する問題