2012-11-23 3 views
0

다음 코드가 있지만 원하는 지리적 지점에 포커스가 있지만 오버레이가지도에 표시되지 않는 것 같습니다. 코드는 다음과 같습니다.지도 뷰 (초보자)에 오버레이 추가

public void setOverlay() 
{ 
    MapView mapView = (MapView)findViewById(R.id.mapview); 
    mapView.getController().setCenter(place.getGeoPoint()); 
    List<Overlay> mapOverlays = mapView.getOverlays(); 
    Drawable drawable = this.getResources().getDrawable(R.drawable.ic_launcher); 
    MyItemizedOverlay itemizedOverlay = new MyItemizedOverlay(drawable); 
    OverlayItem overlayitem = new OverlayItem(place.getGeoPoint(), "Hola, Mundo!", "I'm in Mexico City!"); 
    itemizedOverlay.addOverlay(overlayitem); 
    mapOverlays.add(itemizedOverlay); 


} 

여기에는 어떤 문제가있을 수 있습니까?

답변

0

당신은 호출해야합니다 : 당신이 MapView에 추가 한 후

mapView.invalidate(); 

오버레이의 다시 그리기를 강제로. 위의 줄을 메서드의 맨 아래에 추가하면 제대로 작동하지 않을 것입니다 (이 경우 아이콘이 완전히 투명하지 않다고 가정합니다).

감사합니다.

+0

음, 아직 작동하지 않습니다. 나는 그것을 나중에 고쳐 주겠다. 이상하다. – idish

+0

위의 코드는 정상적으로 보입니다. 그것이 나타나지 않으면 다음을 확인하십시오 : 1 - 당신이'setOverlay()'와'place'를 호출하는 것이 올바른 값을 가지고 있다는 것을 확인하십시오. 지도는 항상 마지막으로 사용 된 위치에서 시작하며지도가 정확하게 중심으로 생각할 수 있습니다. 2 - 'MyItemizedOverlay' 클래스를 확인하십시오. – Luis

관련 문제