2011-12-01 5 views
2

나는이 예제 코드 중 하나를 리버스 엔지니어링하려고합니다.Google 장소 API는 위치의 참조 값을 가져옵니다.

<script type="text/javascript"> 
    function initialize() { 
    var map = new google.maps.Map(document.getElementById('map_canvas'), { 
     mapTypeId: google.maps.MapTypeId.ROADMAP, 
     center: new google.maps.LatLng(36.018486,-86.787607), 
     zoom: 15 
    }); 
    var frontline = new google.maps.LatLng(36.018486,-86.787607); 

    var request = { 
     reference: 'CnRkAAAAGnBVNFDeQoOQHzgdOpOqJNV7K9-c5IQrWFUYD9TNhUmz5-aHhfqyKH0zmAcUlkqVCrpaKcV8ZjGQKzB6GXxtzUYcP-muHafGsmW-1CwjTPBCmK43AZpAwW0FRtQDQADj3H2bzwwHVIXlQAiccm7r4xIQmjt_Oqm2FejWpBxLWs3L_RoUbharABi5FMnKnzmRL2TGju6UA4k' 
    }; 

    var infowindow = new google.maps.InfoWindow(); 
    var service = new google.maps.places.PlacesService(map); 

    service.getDetails(request, function(place, status) { 
     if (status == google.maps.places.PlacesServiceStatus.OK) { 
     var marker = new google.maps.Marker({ 
      map: map, 
      position: place.geometry.location 
     }); 
     google.maps.event.addListener(marker, 'click', function() { 
      infowindow.setContent(place.name); 
      infowindow.open(map, this); 
     }); 
     } 
    }); 
    } 

    google.maps.event.addDomListener(window, 'load', initialize); 
</script> 

내 위치에 대한 참조를 찾는 방법을 알 수 없습니다. 위치에 대한 데이터가 설정되는 경우 또한

, 나는

infowindow.setContent() 

답변

2

나는 textSearch() 방법을 사용하면 환상적인 참조 문자열을 제공한다는 것을 알게되었습니다. textSearch() 메서드를 사용하여 getDetails() 메서드 here에 대한 참조 문자열을 제공하는 클라이언트 측 스크립트를 작성했습니다.

+0

니스, 직장 동생. – eteich

0

VAR 요청으로 여러 값을 얻을 얼마나 입니다. 공정하게 암호화 된 것으로 보입니다.

+0

알아요. 당신이 그것을 넣을 필요가있는 것 이외의 API에는 그다지 언급되지 않지만 실제 장소가 무엇인지 알려주는 것입니다. – eteich

1

긴 암호화 된 문자열은 장소 참조이지만 되돌아 가서 같은 위치를 찾을 때만 사용해야합니다. 약간 변경 될 수 있으므로 평가, 체크인 또는 기타 활동을 그룹화하는 데 사용해서는 안됩니다. 장소 API 문서에서

:.

http://code.google.com/apis/maps/documentation/places/

은 "참조하면 장소의 세부 정보 요청에서이 장소에 대한 추가 정보를 검색하는 데 사용할 수있는 고유 한 토큰을 포함 당신이 저장할 수 있습니다 토큰을 사용하고 나중에 언제든지이 장소에 대해 캐시 된 데이터를 새로 고침하여 을 새로 고치면 이 다른 검색에서 특정 장소에 대해 반환되지 않을 수 있습니다. "

infowindow에 여러 값을 추가하려면 원하는 세부 정보를 추가하면됩니다. 이와 같이 :

infowindow.setContent (place.name + address + rating);

+0

그래서 저는 지금 비즈니스를 검색하고 참조 값을 반환하도록 설정했습니다. 문제는 place.rating 및 place.name으로 등급 및 이름과 같은 정보를 얻을 수 있지만 place.formatted_address 또는 results [0] .formatted_address를 사용해도 formatted_address 및 geometry와 같은 정보를 얻을 수 없다는 것입니다. – eteich

+0

이것을 복제하는 페이지에 대한 링크를 게시 할 수 있습니까? 위의 참조를 사용하고 잘 작동합니다. formatted_address와 geometry가 채워집니다. –

관련 문제