Google Maps & Flex: как использовать стандартный маркер карты вместо пользовательского маркера? - PullRequest
0 голосов
/ 11 мая 2011

Я использую Google Maps с Flex 3. Я использую собственные маркеры (пользовательские значки), чтобы отмечать места на карте.Работает нормально.Проблема в том, что в некоторых случаях мне не нужен пользовательский значок, мне нужен стандартный маркер.

Например, как мне установить значок условия 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();

Я не знаю, как вернуться к маркеру по умолчанию, где я написал «СТАНДАРТНЫЙ МАРКЕР».Есть предложения?

Спасибо.

-Laxmidi

1 Ответ

1 голос
/ 11 мая 2011

Попробуйте что-то вроде этого:

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();

Это не проверено, но вы поняли идею

...