2014-07-26 5 views
0

안녕하세요. 주소를 찾으려면 javascript와 google api를 사용하는 동안 몇 가지 문제가 있습니다.Google지도에 문제가 있습니다. Api, 주소 찾기에 대한

내가 그 코드를 사용하는 경우, 그것은 잘 작동 :

var options = { 
     types: ['(cities)'], 
     componentRestrictions: { 
      country: 'fr' 
     } 
    }; 
    var input = document.getElementById('location'); 
    autocomplete = new google.maps.places.Autocomplete(input, options); 

을하지만 많은 adresses있는을 위해, 다중 입력을 사용하고자 할 때, 그것은 작동하지 않습니다는

은 내가에서 getElementById를 변경하려

TypeError: undefined is not a function이 자동 완성 스크립트가 필요한 모든 요소 입력에는 "위치"라는 클래스가 있습니다.

내가 뭘 잘못하고 있는지 모르겠다. 내가 본 모든 예는 한 입력에 대해서만 보여주기 때문에이 스크립트가 classname을 사용하여 많은 입력을 처리 할 수 ​​있는지 여부를 알 수 없습니다.

아무 도움도 많이 주시면 감사하겠습니다.

+0

당신이 당신의 HTML 소스의 클래스 ID에서'location'을 변경 했을? –

+0

예, 제가 해 냈습니다. 사실 나는 이드를 제거하고 대신 클래스를 넣습니다. –

+0

어떤 브라우저를 사용하고 있습니까? [호환성 확인] (해당 기능이있는/ –

답변

1

자동 완성은 첫 번째 인수로 DOMNode를 예상하지만 getElementsByClassName은 DOMNodeList를 반환합니다.

이 노드리스트의 항목을 반복하고 Autocomplete을 적용해야합니다.

기본 JS/DOM 사용 : jQuery를 사용하여

var inputs = document.getElementsByClassName('someClass'); 

    for(var i = 0; i < inputs.length; ++i){ 
     new google.maps.places.Autocomplete(inputs[i], options); 
    } 

:

 $('.someClass').each(function(){ 
     new google.maps.places.Autocomplete(this, options); 
    }); 
+0

의 크롬을 사용합니다 자바 스크립트를 사용하려고합니다. 나는 또한 jquery $ ('. location')을 시도했지만 동일한 결과를 보았습니다. –

+0

코드를 추가했습니다. –

+0

시도했지만 작동하지 않았습니다. 'var input = $ ('. google '); jQuery.each (입력, 기능() { 자동 완료 = 새 google.maps.places.Autocomplete (입력, 옵션); }); ' –

관련 문제