2011-05-10 50 views
0

我使用帶有Flex 3的Google Maps。我使用自定義標記(自定義圖標)在地圖上標記地點。它工作正常。問題是,在某些情況下,我不需要自定義圖標,我需要標準標記。谷歌地圖和Flex:如何使用標準地圖標記而不是自定義標記?

例如,我將如何設置條件C的圖標,標準標記:

public function iconSetter():void { 
    if (condition A blah blah){myIcon=star; myPointsBuilder(); return;} 
    if (condition B blah blah){myIcon=circle; myPointsBuilder(); return;} 
    if (condition C blah blah){myIcon=STANDARD MARKER; myPointsBuilder(); return;} 
    } 

在myPointsBuilder功能創建的標記,像這樣:

for (i=0; i < arrayLength; i++) { 
     myMarker = new Marker(new LatLng(myData[i].latitude, myData[i].longitude), new MarkerOptions({ 
     icon: new myIcon, iconOffset: new Point(2,2), iconAlignment:1, hasShadow:true 
     })); 
     markerBoss.addMarker(myMarker, 15, 15); 
     } 
     markerBoss.refresh(); 

我不知道如何恢復到我寫「STANDARD MARKER」的默認標記。有什麼建議麼?

謝謝。

-Laxmidi

+0

如果你只是想標準的圖標,幹嘛還要設置圖標標記選項? – 2011-05-11 14:47:43

+0

嗨JAX,謝謝你的留言。在情況A和B我需要自定義標記。在情況C下,我需要默認標記。如果您有建議,我很樂意聽到它。謝謝! – Laxmidi 2011-05-11 15:06:59

回答

1

嘗試是這樣的:

for (i=0; i < arrayLength; i++) { 
    myMarker = new Marker(new LatLng(myData[i].latitude, myData[i].longitude)); 
    switch(condition) 
    { 
     case A: 
     case B: 
     myMarket.setOptions(new MarkerOptions({icon: new myIcon, iconOffset: new Point(2,2), iconAlignment:1, hasShadow:true})); 
     break; 
     case C: // default, do nothing 
     break; 
    } 
    markerBoss.addMarker(myMarker, 15, 15); 
} 
markerBoss.refresh(); 

這是未經測試,但你的想法

+0

嗨J_A_X,非常感謝您的幫助。這很好。 – Laxmidi 2011-05-11 21:31:59