Sorun şu ki, en az 20 sonuç döndüren bir Google Rehber radar araması gerçekleştiriyorum. Kodumda, arama sonuçlarının sayısını 20 ile sınırlandırıyorum. Bu yüzden, yerleştirilmiş google haritamda en fazla 20 markör olmalı (bu bölüm işe yarar) ve sonuç panelimdeki 20 konumun ilişkili listesi olmalıdır (bu yok). t çalışması). Ancak, sonuç panelinde sürekli olarak sadece 10 sonuç alıyorum.En az 20 olduğunda sadece 10 arama sonucu mu gösteriliyor? Google Rehber API'sini Kullanma
function addResult(place, i) {
var name;
var address;
var results = document.getElementById("results");
service.getDetails({placeId: place.place_id}, function(result, status) {
if (status !== google.maps.places.PlacesServiceStatus.OK) {
return;
}
results.innerHTML += '<li>' + result.name + '</li>';
});
}
bazı hata ayıklama test ve için- yaptı: İşte
function getPlaces(placeQuery, locInput){
var location = new google.maps.LatLng(locInput.geometry.location.lat(), locInput.geometry.location.lng());
var queryValue = placeQuery.value;
var resultsLength;
var request = {
location: location,
radius: 3200,
keyword: queryValue
};
service = new google.maps.places.PlacesService(map);
service.radarSearch(request, function callback(results, status) {
if(status == google.maps.places.PlacesServiceStatus.OK) {
clearMarkers();
if(results.length < 20){
resultsLength = results.length;
}
else{
resultsLength = 20;
}
for (var i = 0; i < resultsLength; i++){
var markerLetter = String.fromCharCode('A'.charCodeAt(0)+ i);
var markerIcon = MARKER_PATH + markerLetter + '.png';
markers[i] = new google.maps.Marker({
position: results[i].geometry.location,
animation: google.maps.Animation.DROP,
icon: markerIcon
});
markers[i].placeResult = results[i];
google.maps.event.addListener(markers[i], 'click', showInfoWindow);
setTimeout(dropMarker(i), i * 100);
addResult(results[i], i);
}
}
});
}
benim addResult fonksiyonu olduğunu: İşte (onun asenkron beri) callback'inde radar arama ve addResult fonksiyonunu gerçekleştiren benim kodudur döngü tamamen yürütülür. Ancak, addResult işlevindeki service.getDetails öğesinde, yalnızca 10 yer kimliği geçiyor. Emin değilim neden ... Not: jQuery veya söz kitaplığı vb kullanamazsınız.
bir [Minimal, test edilmiş, Tam ve Okunabilir örnek] veriniz (http://stackoverflow.com/help/mcve) sorununuzu gösterir. – geocodezip