Я пытаюсь случайным образом выбрать один ответ на вызов Google Места поиска поблизости - PullRequest
1 голос
/ 12 апреля 2020

Я пытаюсь создать программу, которая может вызывать 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);
        });
    }                
}

Спасибо за любой вклад / совет, который вы можете дать!

...