2016-10-21 5 views
0

Google 지역 정보 API를 포함하는 데 문제가 있습니다. API 키를 사용하여 모든 것을 설정했지만 제안/제안은 잘 작동하지만 제안을 선택할 때 place_changed 이벤트가 시작되지 않습니다.Google 지역 정보 API : place_changed 해지되지 않았습니다.

확인 바이올린 : https://jsfiddle.net/xj2d77be/3/

그것은 작동해야하지만 그렇지 않은 이유는 전혀 생각이 없다. (게시 바이올린에서)

코드 :

$(document).ready(function() { 
 
    var autocomplete = new google.maps.places.SearchBox(document.getElementById('mapLocation')); 
 
    google.maps.event.addListener(autocomplete, 'place_changed', function() { 
 
    var place = autocomplete.getPlace(); 
 
    console.log(place); 
 
    }); 
 
    console.log("Initialized") 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://maps.google.com/maps/api/js?libraries=places"></script> 
 
<input type="text" id="mapLocation" />

답변

1

이 시도는,이

https://jsfiddle.net/xj2d77be/4/

$(document).ready(function() { 
    var autocomplete = new google.maps.places.Autocomplete($("#mapLocation")[0]); 
     google.maps.event.addListener(autocomplete, 'place_changed', function() { 
      var place = autocomplete.getPlace(); 
      console.log(place); 
     }); 
    console.log("Initialized") 
}); 
, 내가 코드를 업데이트 한 작동합니다

사용하여 정보 검색 :

https://jsfiddle.net/xj2d77be/5/

$(document).ready(function() { 
    var searchBox = new google.maps.places.SearchBox(document.getElementById('mapLocation')); 
     searchBox.addListener('places_changed', function() { 
      var place = searchBox.getPlaces(); 
      console.log(place); 
     }); 
    console.log("Initialized") 
}); 
+0

감사합니다! 하지만 "SearchBox"가 작동하지 않는 이유는 알 수 없습니다. Google에서 Thes가 SearchBox를 사용하는 샘플을 찾았습니다. "places_change"상태가 있습니다. –

+0

@KevinLieser이 링크를 따라 가십시오. https://developers.google.com/maps/documentation/javascript/examples/places-searchbox –

+0

그게 제가 말하는 페이지입니다. 보시다시피, 그들은 var searchBox = new google을 초기화합니다. –

0

에는 "place_changed"이벤트 또는 정보 검색을위한 .getPlace() 기능이 없습니다. 'places_changed'및 .getPlaces()이어야합니다.

Documentation:

방법

getPlaces() 반환 값 : 배열

는 사용자가 선택한 쿼리를 돌려 어떤 장소에, 아직 널 발견되지 않은 경우 places_changed 이벤트와 함께 사용하십시오.

이벤트

인수 places_changed : 없음

사용자가 쿼리를 선택할 때이 이벤트가 시작되어, getPlaces은 새로운 장소를 얻기 위해 사용되어야한다.

참고 :.getPlaces() 함수가 배열이 아닌 한 곳을 반환합니다.

$(document).ready(function() { 
 
    var autocomplete = new google.maps.places.SearchBox(document.getElementById('mapLocation')); 
 
    google.maps.event.addListener(autocomplete, 'places_changed', function() { 
 
    var place = autocomplete.getPlaces(); 
 
    console.log(place); 
 
    }); 
 
    console.log("Initialized") 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://maps.google.com/maps/api/js?libraries=places"></script> 
 
<input type="text" id="mapLocation" />

관련 문제