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);
});
}