2016-07-09 2 views
-2

私はgoogle places APIに問題があります。郵便番号をgoogle placesapiの自動提案に入れないようにする方法

"new delhi"と入力すると、私のサイトのページに "New Delhi、Delhi 110001、India"と表示されます:https://www.fabstage.com/professionals/。しかし、他のサイトでは "ニューデリー、デリー、インド"を示しています。そして、これはこの場所(ニューデリー)でのみ起こります。 ここをクリックしてください:https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete

ロケーション検索クエリで正しい結果が得られないため、同じ入力が必要です。助けてください。

<script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCKvFWo1zxb71vCtFRIq2z4oz2h5EEZYPQ&v=3.exp&libraries=places" type="text/javascript"></script> 
<input type="text" class="autocomplete form-control" id="search_city" placeholder="Input City Location"> 
<script type="text/javascript"> 
var mydiv = document.getElementsByClassName('autocomplete')[0]; 
google.maps.event.addDomListener(mydiv, 'click', function(){ 
var options = { 
    types: ['(regions)'] 
}; 
var input = document.getElementsByClassName('autocomplete')[0]; 
if(input){ 
    var autocomplete = new google.maps.places.Autocomplete(input , options); 
    google.maps.event.addListener(autocomplete, 'place_changed', function() { 
     var dat = autocomplete.getPlace(); 
     $("#search_city").val(dat.formatted_address); 
     /***On keyup event**/ 
     var input_data = dat.formatted_address; 
     var path = $('#path').val(); 
     var path = $('#main_path').val(); 
     if(input_data) { 
      var checkPath = path.substr(path.length - 1); 
      if(checkPath == '/') { 
       var new_href = path+'city/'+input_data.toLowerCase() 
         .replace(/ /g,'-') 
         .replace(/[^\w-]+/g,''); 
      }else { 
       var new_href = path+'/city/'+input_data.toLowerCase() 
         .replace(/ /g,'-') 
         .replace(/[^\w-]+/g,''); 
      } 

     } else { 
      var new_href = path; 
     } 
     $('#find_city').attr('href', new_href); 

    }); 
} 
}); 

    </script> 

答えて

0

Googleマップのapiには、結果を返すためのさまざまなオプションがあります。参照した例は、オートコンプリート用の場所のみを使用しています。場所だけを必要とし、住所ではない場合は、Google maps apiが場所を返すように設定していることを確認してください。

EDIT:

サイトと同じJSONオブジェクトが返されplunkerにhttpリクエストの結果を検査した後。どちらもフォーマットされたアドレスに同じ値を含んでいます。

"formatted_address" : "New Delhi, Delhi 110001, India", 

ただし、指定したコードは、郵便番号を取り除くために書式設定された住所を変更します。だからあなたのサイトが同じことをしていることを確認します。

+0

郵便番号は1つの場所入力 "new delhi"でのみ表示されます。他の入力の場合は、郵便番号なしで正常に動作します。 –

+0

あなたのコードを質問に追加できますか? –

+0

私はこのコードを追加しました。 –