Java 如何创建“打开”和“关闭”指示器?

Java 如何创建“打开”和“关闭”指示器?,java,android,Java,Android,我有地图视图。在这个地图视图中,我有地图覆盖。MapOverlays在地图上绘制了两个图标。有一个绿色和一个红色。我想把它们做成开放式和封闭式指示器 例如,我想读取我设置的时间myTime,并用SystemTime检查它是否打开或关闭 伪代码:如果myTime==SystemTime{shop indicator变为绿色标记}否则{shop indicator变为红色市场} 我有要添加到MapView的两个商店的时间安排 我该怎么写呢 以下是一张图片,以供澄清: public void mapO

我有地图视图。在这个地图视图中,我有地图覆盖。MapOverlays在地图上绘制了两个图标。有一个绿色和一个红色。我想把它们做成开放式和封闭式指示器

例如,我想读取我设置的时间myTime,并用SystemTime检查它是否打开或关闭

伪代码:如果myTime==SystemTime{shop indicator变为绿色标记}否则{shop indicator变为红色市场}

我有要添加到MapView的两个商店的时间安排

我该怎么写呢

以下是一张图片,以供澄清:

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

谢谢您的时间。

您可以使用以下代码为地图上的任何点设置标记

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语句包装最后一行,这样您就可以选择定制的可绘制。希望这有帮助。

可以粘贴代码吗?我将进行更改?代码粘贴在上面。谢谢阿加瓦尔的回复。只是补充一句,如果需要澄清:我正在使用BalloodItemizeOverlay。如果这有帮助的话。您只需要更改标记?是的。但是,每个标记都代表一个商店。假设这家店12:00开门,23:00关门。在12:00到23:00之间,我希望它有一个绿色的标记,指示商店已经开门。否则,我希望标记为红色,表示商店关门了。我该怎么做?