2010-03-21 59 views
1

信息窗口有誰知道一個谷歌地圖被用於創建具有兩個側邊欄邊欄和標籤使用谷歌地圖V2

http://econym.org.uk/gmap/example_map4c.htm

地圖的例子和標籤信息窗口

http://econym.org.uk/gmap/example_map10a.htm

中的標記物被定義並準備側邊欄

 function createMarker(point,name,html) { 
     var marker = new GMarker(point,{icon:myIcon}); 

     // add a line to the side_bar html 
     side_bar_html += '<div id="'+linkid+'"><a href="javascript:myclick(' + (gmarkers.length-1) + ')">' + name + '<\/a><br><\/div>'; 
     return marker; 
     } 

邊欄從對標記中定義的「名稱」獲得其標題:

var marker = createMarker(point,"Point Title", 'Point Content') 
map.addOverlay(marker); 

製表符通過將標記成陣列生成:

 function createTabbedMarker(point,htmls,labels) { 
     var marker = new GMarker(point); 

var marker = createTabbedMarker(point, ["Tab 1 contents", "Tab 2 contents","Tab 3 contents","Tab 4 contents"],["One","Two","Three","Four"]); 
     map.addOverlay(marker); 

我的問題是我怎樣才能抓住數組的第一部分[標籤],在這個例子'一',並有這是什麼輸出是側邊欄?

+0

爲什麼?你想做什麼? – SLaks 2010-03-21 20:46:21

+0

@zac;試圖解決這個問題,讓我知道它是否有幫助。 – 2010-04-08 19:32:06

回答

0

第一個示例中的邊欄不是Google Maps API的功能;我只是一個在Javascript中更新的表格單元格。

+0

是的,抱歉...這是一個非常不清楚的問題。我詳細闡述了它,所以它現在有希望變得更有意義。 – Zac 2010-04-02 04:36:55

0

這是可行的......如果你檢查Gmarker谷歌地圖文檔,或者更具體地說Gmarker.openInfoWindowTabsHtml,你會看到它有兩個參數:

  1. GInfoWindowTab
  2. 一個數組GInfoWindowOptions javascript對象。

GInfoWindowOptions的文檔中,您將看到可以通過selectedTab屬性傳遞選項卡索引。在這種情況下,我們可以從sidebar example使用的代碼,只需更新myclick功能:

function myclick(i) { 
     gmarkers[i].openInfoWindowHtml(htmls[i]); 
     } 

變爲:

function myclick(i, tab_index) { 
     gmarkers[i].openInfoWindowHtml(htmls[i], { selectedTab : tab_index }); 
     } 

我們更新createMarker函數接受卡數本應標有:

createMarker(point,name,html,tab_count) { 
    // ...snip ... 
    var links_html_temp = ""; 
    while (--tab_count) { 
     links_html_temp = '<a href="javascript:myclick(' + i + ',' + tab_count + ')">' + name + ': Tab #' + tab_count + '<\/a><br>' + links_html_temp; 
    } 
    side_bar_html += links_html_temp; 

我將它留給你自己的具體實現,以傳遞適當的製表符數到createMarker