2016-05-03 11 views
0

私はオートコンプリートテキストボックスを設定しており、オプションが表示されます。しかし、 'place_changed'イベントは[object Object]を出力として返します。以下は私のコードです。以下はGoogleプレイスオートコンプリート 'place_changed'イベントが機能しない

<script src="https://maps.googleapis.com/maps/api/js?libraries=places&language=en"></script> 

<script> 
    var pos; 
    var mylocation; 
    function initAutocomplete(){ 
     var input = document.getElementById('autocomplete'); 
     var autocomplete = new google.maps.places.Autocomplete(input); 
     google.maps.event.addListener(autocomplete, 'place_changed', function(){ 
      mylocation = autocomplete.getPlace(); 
      alert(mylocation); 
     }) 
    } 
</script> 

私が使用したCSSです:

#pac-input { 
    background-color: #fff; 
    font-size: 15px; 
    font-weight: 300; 
    margin-left: 12px; 
    padding: 0 11px 0 13px; 
    text-overflow: ellipsis; 
    width: 350px; 
} 

#pac-input:focus { 
    border-color: #4d90fe; 
} 

.pac-container { 
    z-index: 2000000 !important; 
    width: 350px; 
} 

.pac-item { 
    height: 35px; 
    font-size: 12px; 
    color: #101010; 
} 

#autocomplete { 
    height: 35px; 
    width: 100%; 
    padding-left: 10px; 
} 

この問題を解決するために、任意の助けをいただければ幸いです。あなたのイベント宣言で

答えて

2

は、オートコンプリートのパラメータを削除:

google.maps.event.addListener('place_changed', function() 

の代わり:

google.maps.event.addListener(autocomplete, 'place_changed', function() 

そして、このアラートを試してみてください。

alert(mylocation.name); 

mylocationはJSONオブジェクトです。 console.log(mylocation)を実行して、JSONキーと値を復元してください。 mylocationに警告すると正常です。このアラートはJSONオブジェクトなので[object Object]を返します。

+0

ありがとうございました!それは完璧に働いた。 – Fleur

+0

あなたは大歓迎です:)。 – John