如何打开从的GInfoWindow链接
问题描述:
我使用谷歌地图API V2一个的fancybox,我需要打开一个的fancybox,从信息窗口内。 我想这(但没有工作):如何打开从的GInfoWindow链接
GEvent.addListener(marker1, "click", function() {
var cnt = '<div> <a id="fancybox" href="http://www.google.com/">Link</a></div>';
marker1.openInfoWindowHtml(cnt);
});
我不明白为什么这是行不通的,因为当我做相同的,但不是作为一个参数(只是在页面某处的链接),它的工作原理:
<a id="fancybox" href="fancybox/example/1_b.jpg"><img src="fancybox/example/1_s.jpg" alt=""/></a>
要添加花哨的框插件我使用这样的:当你看到
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript" src="fancybox/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
<link rel="stylesheet" href="fancybox/fancybox/jquery.fancybox-1.3.4.css" type="text/css" media="screen" />
<script type="text/javascript">
$(document).ready(function() {
$("a#fancybox").fancybox();
});
</script>
所以,问题是,调用看中框时,从内openInfoWin dowHtml(),它不工作。
生病得到一些帮助。
地图现在是链接:http://joostudio.info/test/
正如你所看到的,从底部图像的fancybox工作得很好,但是当我把它从地图信息窗口就绝对行不通。
下面是完整的页面源代码
<!DOCTYPE HTML>
<html lang="en">
<head>
<meta charset=utf-8>
<title>test</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript" src="fancybox/fancybox/jquery.fancybox-1.3.4.pack.js"></script>
<link rel="stylesheet" href="fancybox/fancybox/jquery.fancybox-1.3.4.css" type="text/css" media="screen" />
<script type="text/javascript">
$(document).ready(function() {
$("a#fb").fancybox();
});
</script>
<script src="http://maps.googleapis.com/maps/api/js?sensor=false" type="text/javascript"></script>
<script type="text/javascript">
var map;
function runmap() {
var myLatlng = new google.maps.LatLng(43.154541,19.12315);
var myOptions = {
zoom: 10,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);
var infowindow = new google.maps.InfoWindow({});
var marker1 = new google.maps.Marker({
map: map,
position: new google.maps.LatLng(43.145086,19.090633),
});
google.maps.event.addListener(marker1, "click", function() {
infowindow.setContent('<a class="fb" href="fancybox/example/1_b.jpg"><img src="fancybox/example/1_s.jpg" alt=""/></a>');
infowindow.open(map, marker1);
});
}
</script>
</head>
<body onload="runmap()">
<div id="map_canvas" style="width: 972px; height: 500px"></div>
</br>
<a id="fb" href="fancybox/example/1_b.jpg"><img src="fancybox/example/1_s.jpg" alt=""/></a>
</body>
</html>
我怎么能简单地从谷歌地图V3标志调用的fancybox?
非常感谢
答
我觉得你的问题是,包括HTML信息窗口中显示您的链接不“存在”的时候您设定的fancybox。
我想你可以通过提供一个DOM节点,而不是用HTML字符串解决这个问题。只需创建一个带有链接的隐藏div,您想要显示并且它应该可以工作。
答
陶然成一个类似的问题我自己,这是很难让一个事件要坚持到谷歌地图中的元素,我都尝试的fancybox和彩盒,但我得到了两个相同的结果。我的解决方案是使用和良好的老onclick直接在元素上,所以像这样:
<a href="your url" onclick="$.fancybox.open({href:'your url'}); return false;">link</a>
希望这可以解决您的问题。