Google信息窗口:点击链接会导致页面重新加载

时间:2015-12-18 15:01:54

标签: javascript google-maps

我正在为我必须设计的网页做一些测试;因此,我写了一些代码来在地图上添加标记,并为每个代码添加一个信息窗口,其中包含一些信息:

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)的网站上,点击页面时会加载并替换为地图。考虑到无法滚动加载的页面并且只有一部分可见(根据原始地图的大小),这是我不喜欢的行为。 我希望用户点击信息窗口内的链接和一个新的标签打开,以显示加载的页面。

有什么想法吗? 感谢。

1 个答案:

答案 0 :(得分:1)

乍一看,我认为'<a href=""' + url + '应为'<a href="' + url + '"',以便您的网址实际位于href属性中。