谷歌地图& Flex:如何使用标准地图标记而不是自定义标记?

时间:2011-05-10 22:48:21

标签: google-maps flex google-maps-markers

我正在使用带有Flex 3的Google地图。我正在使用自定义标记(自定义图标)来标记地图上的位置。它工作正常。问题是,在某些情况下,我不需要自定义图标,我需要标准标记。

例如,如何将条件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

1 个答案:

答案 0 :(得分: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();

这是未经测试的,但你明白了