Я пытаюсь создать программу, которая может вызывать API Google Places и случайным образом возвращать один из ответов. В настоящее время мой код будет принимать 14 различных ключевых слов одно за другим и выполнять поиск по каждому из них. Затем, когда он находится на своем последнем вызове, ему нужно выбрать один из этих вариантов, для которого нужно создать маркер. Проблема в том, что когда я запускаю свой код, он возвращает несколько маркеров вместо 1 ... Я не знаю, почему это так.
Есть мысли о том, что является причиной проблемы? (см. соответствующий код ниже для справки)
function callback(results, status)
{
if (status == google.maps.places.PlacesServiceStatus.OK)
{
for(var i=0; i < ratings[i][2]; i++)
{
var rand = Math.floor(Math.random() * results.length);
recommendedFood.push(results[rand])
}
}
if (last == true)
{
numlengths.push(recommendedFood.length)
var final = Math.floor((Math.random() * recommendedFood.length));
var obj = JSON.stringify(recommendedFood[final]);
createMarker(recommendedFood[final])
}
}
function createMarker(place)
{
if (place != null)
{
var placeLoc = place.geometry.location;
var marker = new google.maps.Marker({map: map, position: place.geometry.location});
map.panTo(marker.getPosition());
google.maps.event.addListener(marker, 'click', function()
{
infoWind.setContent(place.name);
infoWind.open(map, this);
});
}
}
Спасибо за любой вклад / совет, который вы можете дать!