2012-04-12 67 views
2

我正在写谷歌api 3代码,在这里:http://jsfiddle.net/zVaGN/2/ 首先我打电话给两个Fusiontables出现在地图上,然后我创建了一个html元素,点击,打开一个我以前在Fusiontables中创建的自定义infowindow。所以我不知道如何做一个函数,当我点击一个html元素时,这个函数会调用融合表中已经创建的infowindows。 所以我想这个效应http://econym.org.uk/gmap/example_egeotestmon.htm 但我应该从已经存在的融合表中调用自定义的infowindows。这个怎么做???打开多边形infowindow点击一个html元素

谢谢大家!

UPDATE

感谢您的答复埃里克。我不知道这一点,我试图用一个函数,应该是这样的:

function izbor() { 
var infowindow = new google.maps.InfoWindow({ 
query: {" SELECT 'ExtendedData' FROM " + tableid}; 
    }); 
infowindow.open(map); 
} 

但我不知道该怎么从表调用,什么是在fusiontables信息窗口的名字。我呼吁ExtendedData,因为当我出口的fusiontable为KML文件,这是对信息窗口的代码,但是这个代码为谷歌API 3,我写的可能不是好..

更新#2

我已经在这里尝试过,但它不工作.. jsfiddle.net/zVaGN/4/

谢谢你的帮助,如果你想出了一些其他的解决方案,请写!

回答

0

我不认为这在Fusion Tables中是可行的。在Fusion Tables中,您无法真正控制地图上显示的叠加层的创建,无论是标记还是多边形。 Fusion Tables在叠加层已经呈现的情况下即时创建磁贴,除了使用infoWindowSuppress:false之外,您还无法控制它们上的点击事件,这允许您使用从FT单击事件返回的值显示您自己的infoWindow 。

编辑

此功能会显示HTML代码融合表返回。似乎应该有一种方法来触发页面内的图层上的点击事件。

google.maps.event.addListener(layer, 'click', function(e){ 
    alert(e.infoWindowHtml); 
} 
+0

感谢您的回复Eric。我不知道这一点,我尝试了一个看起来像这样的函数: 函数izbor(){ var infowindow = new google.maps.InfoWindow({“{”SELECT'ExtendedData'FROM“+ tableid }; \t}); infowindow.open(map); } 但我不知道融合表生成的infowindow的名称来调用一个特定的多边形..谢谢你的答案! – Hrvoje85 2012-04-13 06:10:48

相关问题