0

所以我有一个问题;我有调用 2 个 Fusion 表的 google api 3 代码,现在我想添加一些可单击的 html 元素,当单击时,它们会从 fusion 表中调用某些多边形并自动打开它们的(已经自定义的)信息窗口。

我的代码在这里:http: //jsfiddle.net/zVaGN/1/

我想得到这个效果: http ://econym.org.uk/gmap/example_egeotestmon.htm

我一直在看这段代码,但我找不到解决方案,因为我不擅长编码。我需要一些函数,通过调用一些属性(融合表中的列)从融合表中调用一个层,然后当用户单击一个 html 元素时,会弹出特定层的信息窗口。

请帮助伙计们!

更新:单击多边形时已经可以获取信息窗口,但我想获得在单击另一个 html 元素时打开信息窗口的效果,请看一下这个例子:jsfiddle.net/zVaGN 这里我放了顶部的链接,在地图之前,上面写着“Sisak”,现在我希望当我点击这个链接时,这个多边形的信息窗口(在我的 fusiontalbe 中名为 Sisak)会弹出。这可能吗?

更新 2:所以我已经有了在 fusiontables 中制作的自定义信息窗口,我只希望该函数使用 fusiontable 值查询 html 元素中的值并调用 infowindow 弹出窗口?你明白吗,所以我有我的多边形,我有每个多边形的自定义信息窗口,现在我想在我的 googlemap 之外制作一个 html 列表,以便当用户点击侧边栏列表中的特定名称时,然后是那个信息窗口多边形弹出?

我试过把这段代码调用 fusiontables 中的信息窗口,但我不工作。这是谷歌API:

    function izbor() {
var infowindow = google.maps.FusionTablesLayer({
    });
infowindow.open(map);

}

稍后在 html 正文中,我尝试实现此功能:

<div style="position:absolute; top:700px; left:100px;" >
<a href="#" title="Sisak" value="Sisak" onclick="izbor()">Sisak</a><br />
</div>

但是没有发生这种情况

我还尝试了这段代码来调用在具有 div class="googft-info-window" 的 fusiontables 中创建的 infowindow:

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

但什么也没有发生

还使用 ExtendedData 尝试了此代码,因为当我将 fusiontable 导出到 kml 时,它会将 infowindow 解析为 ExtendedData

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

但又没有:(

4

1 回答 1

0

您的示例使用多边形,并且可以处理单击它。您也可以处理点击,但只能在您区域(图层)的边界上

google.maps.event.addListener(layer, 'click', function()
{
    // Your info window should be opened here
    alert("Clicked");
});

点击区域边界查看:)

更新:

function izbor() {
    layer.setOptions({
        query: "SELECT geometry FROM " + tableid + " WHERE Naziv = 'Sisak'"
    });

    var infowindow = new google.maps.InfoWindow({
        content: "Info"
        , position: new google.maps.LatLng(44.75324026267657, 16.810970306396484)
    });
    infowindow.open(map);
}
于 2012-04-11T07:10:17.927 回答