1

Google지도 & Places API를 사용하여 근처의 레스토랑에서 가까운 곳을 찾을 수있는 신청서를 작성했습니다. & 나는 정보를 얻을 수Google지도 v3 API getDetails() 기능에 대해 혼동을 들었습니다.

var service = new google.maps.places.PlacesService(map); 
service.search(request, callback); 

을 돕기 위해 구글은 검색 기능을 배치 사용했지만, 난 그런 다음 나는 내 검색을 사용하여 만든 마커 나 포맷 된 주소와 같은 필요한 값을 반환하지 않을 것을 깨달았다. 이제 내가 혼란스러워하는 것은 getDetails() 기능을 사용해야하는 추가 정보를 얻는 것입니다. 이것이 내가 위에 사용했던 검색 기능을 대체해야할까요, 아니면 그 이후에 배치해야할까요? 구글은 자신의 웹 사이트에서 설명 할 때 검색 기능을 대체해야하는 것처럼 보입니다. 예제에서는 동일한 정확한 매개 변수를 사용하고 검색 기능과 동일한 기능을 수행하기 때문에 검색 기능을 사용하면 검색 결과를 반환하지 않습니다. 장소. 여기 내가 수행하려고하는 것을 설명하는 데 도움이되는 약간의 코드가 있습니다.

//Function for finding destination types. Receives destination type as a string. 
function findDestinationType(where) 
{ 
    request = null; 
    var request = 
    { 
     location: point, 
     radius: 2500, 
     types: [where] 
    }; 

    var service = new google.maps.places.PlacesService(map); 
    service.getDetails(request, callback); 
} 
//Call Back to fill array with markers & locations 
function callback(results, status) 
{ 
    if (status == google.maps.places.PlacesServiceStatus.OK) 
    { 
     initialize(); 
     iterator = 0; 
     markerArr = []; 
     for (var i = 0; i < results.length; i++) 
     { 
      markerArr.push(results[i].geometry.location); 
      result = results[i]; 
      createMarker(results[i]); 
     } 
    } 
    else 
    { 
     alert("Sorry, there are no locations in your area"); 
    } 
} 
//Function to create marker 
function createMarker(place) 
{ 
    var marker = new google.maps.Marker(
    { 
     position: markerArr[iterator], 
     map: map, 
     draggable: false, 
     animation: google.maps.Animation.DROP 
    }) 
    //alert(markerArr[iterator]); 
    markersA.push(marker); 
    iterator++; 
    google.maps.event.addListener(marker, 'click', function() 
    { 
     console.log('clicked'); 
     infowindow.setContent(place.name); 
     infowindow.open(map, this); 
     //directionsDisplay.setMap(map); 
    }); 
} 

답변

3

당신의 가정은 getDetails()는 기대하지 동일한 매개 변수, 그것은 장소에 참조을 기대하고, 잘못된 것입니다.

참조 결과는 장소 검색에서 얻을 수있는 토큰입니다. 당신이 더 많은 정보가 인수 로 1 단계에서 참조 places.getDetails()를 사용할 필요가있을 때

  1. 사용 places.search() 장소
  2. 에 대한 기본 정보를위한 : 당신이 장소를 검색 할 때

    그래서 워크 플로우입니다