2012-04-22 87 views
0

我有一個MapView。在這個MapView中,我有MapOverlays。 MapOverlays在地圖上繪製了兩個圖標。有一個綠色和一個紅色。我想把這些變成OPEN和CLOSED指標。如何創建「打開」和「關閉」指示燈?

我想讀一個我已經設置的「time」(例如myTime),並用SystemTime檢查它是否打開或關閉。

僞代碼:IF myTime == SystemTime {商店指標變成綠色標記}否則{商店指標變成紅色市場}。

我有兩個商店的時間我想添加到MapView。

我該怎麼寫呢?

這裏是澄清的圖像:

enter image description here

public void mapOverlayItems() { 

    // Creates a marker based on lat/long values on MapView 

      // DIVIDER markerGREEN 
    MapView mapView = (MapView) findViewById(R.id.mapView); 
    mapOverlays = mapView.getOverlays(); 
    Drawable drawableBar = getResources().getDrawable(
      R.drawable.markergreen); 
    mapOverlayBar = new MapOverlayActivity(drawableBar, mapView); 


    GeoPoint sirius = new GeoPoint((int) (52.63274 * 1E6), 
      (int) (-1.13145 * 1E6)); 
    OverlayItem siriusbaricon = new OverlayItem(sirius, "Sirius", "Bar"); 
    mapOverlayBar.addOverlay(siriusbaricon); 

    mapOverlays.add(mapOverlayBar); 
    mapView.invalidate(); 

    //DIVIDER markerRed 

Drawable drawableBank = getResources() 
      .getDrawable(R.drawable.markerred); 
    mapOverlayBanks = new MapOverlayActivity(drawableBank, mapView); 
    GeoPoint natwest = new GeoPoint((int) (52.63440 * 1E6), 
      (int) (-1.1314 * 1E6)); 
    OverlayItem natwesticon = new OverlayItem(natwest, "Natwest", "Bank"); 
    mapOverlayBanks.addOverlay(natwesticon); 
    mapOverlays.add(mapOverlayBanks); 
    mapView.invalidate(); 
} 

謝謝您的時間。

+0

可以粘貼代碼我會做出改變? – 2012-04-22 02:45:28

+0

上面粘貼的代碼。謝謝Agarwal的回覆。 – DesignAndCode 2012-04-22 03:03:43

+0

只需要添加,澄清如果需要:我正在使用BalloonItemizedOverlay。如果這有所幫助。 – DesignAndCode 2012-04-22 03:08:35

回答

2

您可以使用以下代碼爲地圖上的任意點設置標記。

int lat = some number; 
int lng = some number; 

GeoPoint point = new GeoPoint(lat, lng); 

MapView map = (MapView) findViewById(R.id.mapView); 
List<Overlay> overlays = map.getOverlays(); 
overlays.add(new DrawableMapOverlay(this, point, R.drawable.mapmarker)); 

最後一行其實是把標記在地圖上。我會在「if/else」語句中包裝最後一行,以便您可以選擇您的自定義繪圖。希望這可以幫助。