0

我有一个地图视图。在这个 MapView 中,我有 MapOverlays。MapOverlays 在地图上绘制了两个图标。有一种绿色和一种红色。我想把这些变成 OPEN 和 CLOSED 指标。

我想读取我设置的“时间”(例如 myTime),并使用 SystemTime 检查它是打开还是关闭。

伪代码:IF myTime == SystemTime { 店铺指标变成绿色标记 } ELSE { 店铺指标变成红色市场 }。

我有两个要添加到 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();
}

感谢您的时间。

4

1 回答 1

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”语句中,以便您可以选择自定义可绘制对象。希望这可以帮助。

于 2012-04-22T02:48:11.987 回答