2012-01-20 2 views
2

현재 Google지도 API를 사용하여지도에서 위치 정보를 지오 코딩하고 거리 주소를 반환합니다. 내가 주소 구성 요소 유형을 사용하여 형식의 주소 만 더 상세한 버전을 반환하지 않으려는 경우 나 특정 주소를 반환 할 수있는 방법,google maps geocode에서 주소 유형을 반환하는 방법은 무엇입니까?

 function codeLatLng(markerPos) { 
      geocoder.geocode({'latLng': markerPos}, function(results, status) { 
       if (status == google.maps.GeocoderStatus.OK) { 
       if (results[1]) { 
       //Set markerAddress variable 
       var markerAddress = results[0].formatted_address; 
alert(markerAddress); 
... 

그러나 :

나는 현재 다음 코드로 주소를 반환 값은 다음과 같습니다 : http://code.google.com/apis/maps/documentation/geocoding/#Types

감사합니다.

답변

3

나는 왜 results[1] 확인 된 후 results[0]를 사용하여 (또는 내가 무시 단지 오타이다), 여쭤봐도 될까요?

statusOK 인 경우, 적어도 하나의 결과가이됩니다. 그렇지 않으면 statusZERO_RESULTS이됩니다.

어쨌든,이 같은 것을 사용할 수 있습니다

function codeLatLng(markerPos) { 
    geocoder.geocode({'latLng': markerPos}, function(results, status) { 
    if (status == google.maps.GeocoderStatus.OK) { 
     var markerAddress = results[0].address_components[0].long_name 
      + ' (type: ' + results[0].address_components[0].types[0] + ')'; 
     alert(markerAddress); 

당신은 전체 address_components 배열을 많이 재생할 수있는 재미가있다! :)

들어 더욱 재미, ... http://gmaps-samples-v3.googlecode.com/svn/trunk/geocoder/v3-geocoder-tool.html

1

long_name은 지오 코더에서 반환 한 주소 구성 요소의 전체 텍스트 설명 또는 이름입니다.

function codeLatLng(markerPos) { 
       geocoder.geocode({'latLng': markerPos}, function(results, status) { 
        if (status == google.maps.GeocoderStatus.OK) { 
        if (results[1]) { 
        //Set markerAddress variable 
        var markerAddress = results[0].long_name; 
    alert(markerAddress); 
... 
+0

흠에서 지오 코더 도구 V3 Google지도 API에서 (아마도 소스 코드)를 보라 그 '정의되지 않은'다른 아이디어로 알림 – hairynuggets

관련 문제