我正在使用带有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
答案 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();
这是未经测试的,但你明白了