CS50 PSet8 Mashup - маркеры не отображаются на карте Google - PullRequest
0 голосов
/ 22 декабря 2018

Я работаю над набором задач CS50 Mashup.application.py работает нормально, я проверил выходные данные / Articles и / Search, все отображается так, как должно.

Но что-то в scripts.js не работает.Я реализовал addMarker () и removeMarkers () на основе документов Google Maps, но маркеры просто не отображаются на карте.Веб-сайт решения Stuff работает отлично, когда я перемещаю / перетаскиваю карту, он отображает некоторое количество маркеров в близлежащих местах.Но когда я делаю то же самое на моей карте, она остается пустой.

function addMarker(place)
{
var myLatLng = {lat: place.latitude, lng: place.longitude};

var image = {
    url: 'https://developers.google.com/maps/documentation/javascript/examples/full/images/beachflag.png',
    size: new google.maps.Size(20, 32),
    origin: new google.maps.Point(0, 0),
    anchor: new google.maps.Point(0, 32)
};

var marker = new google.maps.Marker({
    position: myLatLng,
    map: map,
    title: place["place_name"] +", "+ place["admin_name1"],
    label: place["place_name"] +", "+ place["admin_name1"],
    icon: image
});

// get articles for place
$.getJSON(Flask.url_for("articles"), {geo: place["postal_code"]}, function(articles)
{
    if (!$.isEmptyObject(articles))
    {
        // Construct the HTML list of articles
        var articles_list = "<ul>";
        for (var i = 0; i < articles.length; i++)
        {
            articles_list += "<li><a href='" + articles[i].link + "'>" + articles[i].title + "</a></li>";
        }
        articles_list += "</ul>";
    }

    // listen for clicks on marker
    google.maps.event.addListener(marker, 'click', function()
    {
        showInfo(marker, articles_list);
    });
});

// remember marker
markers.push(marker);
}

1 Ответ

0 голосов
/ 24 декабря 2018

Ладно, разобрался.Отправьте это здесь в ответ, если кто-то еще будет искать эту проблему.

function addMarker(place)
{
var myLatLng = {lat: place.latitude, lng: place.longitude};

var marker = new google.maps.Marker({
    position: myLatLng,
    map: map,
    title: place.place_name +", "+ place.admin_name1,
    label: place.place_name +", "+ place.admin_name1
});

marker.setMap(map);

// get articles for place
$.getJSON("/articles", {geo: place.postal_code}, function(articles)
{
    // Construct the HTML list of articles
    var articles_list = "<ul>";
    for (var i = 0; i < articles.length; i++)
    {
        articles_list += "<li><a href='" + articles[i].link + "'>" + articles[i].title + "</a></li>";
    }
    articles_list += "</ul>";

    // listen for clicks on marker
    marker.addListener("click", function()
    {
        showInfo(marker, articles_list);
    });
});

// remember marker
markers.push(marker);
}
...