2012-09-03 2 views
-1

나는 이것을 조사한 결과 아무 것도 발견하지 못했습니다. 나는 newb 프로그래머이기 때문에 어쩌면 다시 해결책이있을 것이고 나는 정말로 그것을 알아 차리지 못했다.Google지도 자동 완성 상자, 청취자의 shift + 입력

나는 사용자가 Google지도에 장소를 추가하는 데 사용하는 Google 장소 자동 완성 상자가 있습니다. 사용자는 화살표로 원하는 위치를 선택하고 Enter를 눌러 추가 할 수 있습니다.

내가하고 싶은 일은 사용자가 shift + enter 키를 누를 때 선택한 위치로지도 팬을 이동시키는 것입니다. 나는 시도했지만 아무 소용이 없습니다. 여기

가 자동 완성 상자에 원래의 청취자입니다 :

여기
google.maps.event.addListener(autoCompleteBox, 'place_changed', onPlaceChanged); 

가 어떻게 편집하려고 노력했습니다

google.maps.event.addListener(autoCompleteBox, 'place_changed', function(){ 
    if ($('#searchTextField').keyup(function (event) { 
     if (event.keyCode == 13 && event.shiftKey) { 
      var place= autoCompleteBox.getPlace(); 
      _map.setCenter(place.getPosition()); 
      console.log("logged shift enter"); 
     } 
    }); 
else { 
    onPlaceChanged(); 
} 

을});

미리 도움 주셔서 감사합니다.

답변

0

autoCompleteBox가 google.maps.places.Autocomplete 클래스의 인스턴스라고 가정하면 해당 객체는 place_changed 이벤트에 대한 이벤트 수신기에 인수를 보내지 않으므로 이벤트 객체는 Internet Explorer에만있을 수 있습니다 (왜냐하면 IE에서는 글로벌). 그 외에도 장소가 이미 변경되고 place_changed 이벤트가 발생하면 사용자는 더 이상 아무 키도 누르지 않습니다. 이벤트 객체에 포함 된 정보를 사용하려면 API의 정보를 사용하는 대신 처음부터 직접 autoCompleteBox를 작성해야합니다. 확실히 if() 문 앞에 함수의 첫 번째 줄에 다른 console.log("Fired")을 추가하십시오.

+0

팁 주셔서 감사합니다! 그걸로해볼거야. 그리고 미안해. 나는 그것에 잠깐 들렀다. – ficho

+0

당신이 돌아 왔을 때 얼마나 오랜 시간이 걸렸는지, 유용하다고 생각되면 자유롭게 투표를하고/답을 수락하십시오. :-) – Marcelo

+0

나는 투표 할 수 없다 나는 15 명의 담당자가 필요하다! :) – ficho