我有一个MapView。在这个MapView中我有MapOverlays。 MapOverlay在地图上绘制了两个图标。有一个绿色和一个红色。我想把它们变成OPEN和CLOSED指标。
我想读一下我已设置的“时间”(例如myTime),并使用SystemTime检查它是否打开或关闭。
Pseudocode:IF myTime == SystemTime {商店指标变成绿色标记} ELSE {商店指标转入RED市场}。
我有两个商店的时间要添加到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();
}
感谢您的时间。
答案 0 :(得分: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”语句中,以便您可以选择自定义drawable。希望这会有所帮助。