CS50 PSet8 混搭 - Google 地图上不显示标记
CS50 PSet8 Mashup - Markers don't show on Google map
我正在处理我的 CS50 混搭问题集。 application.py 工作正常,我已经检查了 /articles 和 /search 的输出,所有内容都正常显示。
但是 scripts.js 中的某些内容不起作用。我已经根据 Google 地图文档实现了 addMarker() 和 removeMarkers() ,但是标记没有显示在地图上。 Stuff 的解决方案网站运行良好,当我 move/drag 地图时,它会在附近位置呈现一些标记。但是当我在我的地图上做同样的事情时,它仍然是空的。
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);
}
好吧,想通了。如果其他人会寻找此问题,请将其张贴在此处作为答案。
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);
}
我正在处理我的 CS50 混搭问题集。 application.py 工作正常,我已经检查了 /articles 和 /search 的输出,所有内容都正常显示。
但是 scripts.js 中的某些内容不起作用。我已经根据 Google 地图文档实现了 addMarker() 和 removeMarkers() ,但是标记没有显示在地图上。 Stuff 的解决方案网站运行良好,当我 move/drag 地图时,它会在附近位置呈现一些标记。但是当我在我的地图上做同样的事情时,它仍然是空的。
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);
}
好吧,想通了。如果其他人会寻找此问题,请将其张贴在此处作为答案。
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);
}