2012-04-11 46 views
0

所以我有一個問題;我有谷歌api 3代碼,它調用2個Fusion表,現在我想添加一些html元素,這些元素是可點擊的,當他們點擊時,他們會從融合表中調用某些多邊形,並自動打開它們(已定製的)infowindows。谷歌地圖api 3 - 如何打開infowindow,從FusionTables的多邊形,點擊html元素

我的代碼是在這裏: http://jsfiddle.net/zVaGN/1/

,我希望得到這樣的效果: http://econym.org.uk/gmap/example_egeotestmon.htm

我一直在尋找這個代碼,我不能找到一個解決方案,因爲我沒那麼熟練編碼。我需要一些函數,通過調用某些proprety(熔合表中的列)來調用融合表中的圖層,然後當用戶單擊某個html元素時,特定圖層的infowindow彈出。

請幫幫忙!

UPDATE: 已經可以在點擊poylgon時得到的信息窗口,但我想的是,在信息窗口點擊另一個HTML元素打開的效果,請看看這個例子: jsfiddle.net/zVaGN 在這裏,我已經把地圖上的鏈接放在頂部,表示「Sisak」,現在我希望當我點擊這個鏈接時,這個多邊形的infowindow(我的fusiontalbe中名爲Sisak)彈出。這可能嗎?

更新2: 所以我已經有我的定製infowindows是在融合表中創建的,我只希望該函數用fusiontable值查詢html元素中的值並調用infowindow彈出窗口?你明白嗎,所以我有我的多邊形,我有每個多邊形的自定義infowindows,現在我想除了我的googlemap做一個html列表,以便當用戶在側邊欄列表中點擊特定名稱,然後infowindow那多邊形彈出?

我試着把這個代碼,將調用在融合表infowindow,但我不工作。這是谷歌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> 

但nothis發生

我也試過這個代碼來調用信息窗口在具有div class =「googft-info-window」的融合表中創建:

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

但noth ING發生

也試過這個代碼ExtendedData因爲當我出口我fusiontable爲KML它解析爲信息窗口ExtendedData

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

但同樣沒有什麼:(

回答

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); 
} 
+0

感謝您Aleksej的快速回復,但單擊poylgon時已經可以獲得infowindow,但是我想要獲得infowindow在單擊另一個html元素時打開的效果,請查看此示例: http://jsfiddle.net/zVaGN/在這裏我已經把鏈接放在頂部,在地圖之前,說「Sisak」,現在我希望當我點擊這個鏈接時,這個多邊形的infowindow(在我的fusiontalbe中被命名爲Sisak) ) 彈出。這可能嗎? – Hrvoje85 2012-04-11 08:24:58

+0

Porbably我不明白你的需要:)我張貼代碼打開信息窗口在所需的LatLng位置。希望這會有所幫助 – 2012-04-11 09:17:42

+0

感謝Aleksej,buuuut我已經有了我的自定義infowindows,這是在融合表中創建的,我只希望函數使用fusiontable值查詢html元素中的值並調用infowindow彈出窗口?你明白嗎,所以我有我的多邊形,我有每個多邊形的自定義infowindows,現在我想除了我的googlemap做一個html列表,以便當用戶在側邊欄列表中點擊特定名稱,然後infowindow那多邊形彈出? – Hrvoje85 2012-04-11 09:26:40