2012-04-22 3 views
0

MapView가 있습니다. 이 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(); 
} 

enter image description here이 시간 내 주셔서 감사합니다 여기에

는 설명을위한 이미지입니다.

+0

코드를 붙여 넣어서 변경할 수 있습니까? –

+0

코드를 붙여 넣습니다. 회신에 대해 Agarwal에게 감사드립니다. – DesignAndCode

+0

필요한 경우 설명을 위해 추가하기 만하면됩니다. BalloonItemizedOverlay를 사용하고 있습니다. 이것이 도움이된다면. – DesignAndCode

답변

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"문에서 마지막 줄을 래핑하여 사용자 정의 드로어 블을 선택할 수 있습니다. 희망이 도움이됩니다.

관련 문제