我正在为我必须设计的网页做一些测试;因此,我写了一些代码来在地图上添加标记,并为每个代码添加一个信息窗口,其中包含一些信息:
function placeAttractionMarker(lat, lon, icon_path, name, url)
{
//generate marker's info
var contentString = '<div id="content"><div id="siteNotice">' +
'</div><div id="bodyContent"><h4 id="firstHeading" class="firstHeading">' + name + '</h4>' +
'<a href=""' + url + ' style="text-decoration:none"><b>Sito web</b></a></div></div>';
var infowindow = new google.maps.InfoWindow({
content: contentString
});
var markerPos = new google.maps.LatLng(lat, lon);
var marker = new google.maps.Marker
(
{
position: markerPos,
map: map,
animation: google.maps.Animation.DROP,
icon: icon_path,
title: name
}
);
marker.addListener('click', function() {
infowindow.open(map, marker);
});
markers.push(marker);
}
为要添加到地图的每个标记调用此函数:
for(var j = 0; j<interest_points.length; j++)
{
placeAttractionMarker(
interest_points[j].Lat,
interest_points[j].Lon,
"http://gmaps-samples.googlecode.com/svn/trunk/markers/orange/blank.png",
interest_points[j].Name,
interest_points[j].Wikipedia
);
}
生成的信息页面正确包含所有信息,包含的URL。无论如何,当我点击URL时,只需重新加载包含地图的页面。 在我找到示例代码(Google Info Window)的网站上,点击页面时会加载并替换为地图。考虑到无法滚动加载的页面并且只有一部分可见(根据原始地图的大小),这是我不喜欢的行为。 我希望用户点击信息窗口内的链接和一个新的标签打开,以显示加载的页面。
有什么想法吗? 感谢。
答案 0 :(得分:1)
乍一看,我认为'<a href=""' + url + '
应为'<a href="' + url + '"'
,以便您的网址实际位于href属性中。