2012-06-11 50 views
0

我想創建標記類別和點擊顯示標記......創建標記分類與顯示屏上點擊標記只有

例如,「吃」,「銀行」,「景點」,並點擊他們只會在這些類別中產生標記。你可以看到它住HERE

下面的代碼片段:

//<![CDATA[ 

//<![CDATA[ 

var map = null; 

var gmarkers = []; 

var gicons = []; 

var icon = []; 

function initialize() { 

var myOptions = { 

zoom: 13, 

center: new google.maps.LatLng(37.979183,-121.302381), 

mapTypeControl: true, 

mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU}, 

navigationControl: true, 

mapTypeId: google.maps.MapTypeId.ROADMAP 

    } 

map = new google.maps.Map(document.getElementById("map_canvas"), 

          myOptions); 





google.maps.event.addListener(map, 'click', function() { 

infowindow.close(); 

}); 



// Add markers to the map 

// Set up three markers with info windows 







///////////////////////// EATS ////////////////////////////////////////////// 



var point = new google.maps.LatLng(37.988012,-121.311901); 

var image = 'icons/orangepointer.png'; 

var marker = createMarker(point,'<div style="width:205"><center><img src="icons/tigeryogurt.jpg" /></center><br><b>Tiger Yogurt</b><small><br>4343 Pacific Avenue<br>209.952.6042<br><br><a href="http://maps.google.com/maps?saddr=&daddr=' + point.toUrlValue() + '" target ="_blank">Get Directions<\/a></small><\/div>', image); 

// this will be gmarkers[0] 



var point = new google.maps.LatLng(37.987054,-121.311655); 

var image = 'icons/orangepointer.png'; 

var marker = createMarker(point,'<div style="width:205"><center><img src="icons/mwbakery.jpg" /></center><br><b>M&W Bakery<br>Cakes & Sandwiches</b><small><br>4343 Pacific Avenue<br>209.473.3828<br><br>On the web visit:<br><a href="http://www.mandwdutchamericanbakery.com" target ="_blank">MandWDutchAmericanBakery.com<\/a><br><br><a href="http://maps.google.com/maps?saddr=&daddr=' + point.toUrlValue() + '" target ="_blank">Get Directions<\/a></small><\/div>', image); 

// this will be gmarkers[1] 

目前,所有標記顯示。我可以很容易地得到標記不顯示...但是,我試圖只有類別顯示和單個列表只顯示點擊!

CREATE遊標功能:

} 

var infowindow = new google.maps.InfoWindow(
{ 
size: new google.maps.Size(150,50) 
}); 

function triggerClick(i) { 
    google.maps.event.trigger(gmarkers[i],"click") 
    }; 

function createMarker(latlng, html, img) { 
var contentString = html; 
var marker = new google.maps.Marker({ 
    position: latlng, 
    map: map, 
    icon: img, 
    zIndex: Math.round(latlng.lat()*-100000)<<5 
    }); 

google.maps.event.addListener(marker, 'click', function() { 
    infowindow.setContent(contentString); 
    infowindow.open(map,marker); 
}); 
gmarkers.push(marker); 
} 
+0

我很難理解你想要什麼(特別是因爲你的文章中沒有問號)。您是否只想顯示左側組中的標記? –

+0

createMarker函數是什麼樣的? – duncan

+0

我試圖創建類別「吃」,「購物」,「零售」,然後只有在點擊這些類別或類別內的單個鏈接時纔會顯示標記。 (我編輯了上面的代碼,並添加了createMarker代碼)任何幫助將不勝感激,因爲我卡在這裏。 – MizAkita

回答

0

我認爲這樣做將在其創建setMarker(空)指定你的標記,以陣列,每個標記最簡單的方法。您要麼爲每個類別使用單獨的數組,要麼使用具有category屬性的單個數組對象。然後,當用戶點擊一個類別時,您將遍歷適當的數組,併爲每個標記遍歷setMarker(map)。