2012-11-12 4 views
0

이 내가에서 일하고 코드 표시 :를 클릭 "지도"경우 http://jsfiddle.net/DYfbg/12/스토어 입력 var에 같은 값과

는 당신에게 자동 완성 제안을 제공하는 장소 이름을 입력 해보십시오. 그런 다음 제안 사항 중 하나를 클릭하면 경고 상자에 좌표가 표시됩니다.

자동 완성 옵션을 클릭하면 입력란에있는 내용을 캡처 한 다음이를 변수로 저장합니다. 그런 다음 경고 상자에서 좌표와 함께 입력 상자 변수를 인쇄합니다.

나는이 모든 것이 꽤 간단하다고 들리지만 나는 자바 스크립트에 익숙하지 않으므로 약간의 의견을 정말 고맙게 생각합니다.

코드의 세그먼트 :

google.maps.event.addListener(autocomplete, 'place_changed', function() { 
    var place = autocomplete.getPlace(); 
    **// Store input box as variable** 
    if (!place.geometry) { 
     current_place = null; 
     alert('Cannot find place'); 
     return; 
    } else { 
     current_place = place; 
     alert('Place is at:' + place.geometry.location); 
     **// Print input box varaible aswell** 
    } }); 

편집 :

// Set Autocomplete Location Variable equal to #loc input 
    $("#loc").val(ac_location); 
    // Print Autocomplete Variable 
    alert(ac_location); 

답변

1

을 "장소"개체에서

반환 : 나는 갇히지 않고 얻을 수있는 이것은 가까운 거리
var place = autocomplete.getPlace(); 

당신은 필요한 모든 정보를 가지고 있습니다 console.log를 추가하면 모든 정보가 반환됩니다. 예를 들어 :

var place = autocomplete.getPlace(); 
console.log(place); 
window.myGlobalVar = place.name; 

편집 아래 사항에 따라 : 그것에서 InputBox의 원래 값이 실제로이 속성에 저장됩니다 보인다

autocomplete.gm_accessors_.place.lf.d 
+0

당신의 대답은 잘하지만 문제가 발생합니다. 검색 버튼을 클릭 할 때 자동 완성에서 클릭 한 값과 입력란의 값을 비교하고 싶습니다. place.formatted_address를 사용하는 경우 입력 상자 (영국이 아닌 영국)의 값과 다릅니다 –

+0

place.name을 입력하고 "London, United Kindgom"을 자동 입력하면 입력 상자에 "London"이 기록됩니다 "런던, 영국". 사용자가 입력란에 입력란이 자동 완성을 클릭 한 다음 검색을 클릭하는 것을 변경했는지 확인하려고합니다. 현재 입력 한 내용과 입력 내용이 다르기 때문에 현재 방법을 사용하므로 항상 말합니다 그것은 다르다. 나는 이것을 잘 설명하기를 희망한다. –

+0

Undestood. 업데이트 된 게시물. 원래의 입력 상자 값을 검색 할 수는 있지만 내 생각에는 이름을 사용하지 말 것을 제안합니다. – Draykos

관련 문제