2012-02-20 2 views
7

내 새 Android 프로젝트에서 osmdroid를 사용하고 있습니다. (오프라인지도를 사용할 수 있기를 원하므로) 정보의 느낌을 사용자 정의하기 위해 많은 어려움을 겪습니다. 오버레이 항목에 할당 된 거품osmdroid를 사용하여 오버레이 항목에 대한 사용자 정의 정보 거품

지금은 ItemizedOverlayWithFocus 오버레이를 사용하여 내 항목을 표시하고 있습니다. its code에서 보았을 때 나는 onDrawFinished 메서드로 모든 것을 그렸습니다. 그래서이 메서드를 재정의하기 위해 자신의 사용자 지정 오버레이를 만들려고했으나 결과를 얻는 것은 꽤 어렵습니다.

The result

너희들이 프로젝트에 사용자 지정 정보 거품을 얻을 수 있었다 않았다 방법 : 내가 얻을 싶어요 그냥 이런 일입니까?

Google MapView (예 : Jeff Gilfelt's MapView Balloons)에 대해 몇 가지 클래스를 구현했지만 osmdroid에는 해당 사항이 없습니다.

+0

안드로이드-mapviewballoons 거의 같은 API를 사용해야합니다. osmdroid로 포팅하지 않았습니까? – Macarse

+0

지금 당장 시도하고 있지만 디버깅 중입니다 (예를 들어 터치 이벤트가 발생하지 않았습니다). 하지만 멋진 정보를 담은 멋진 프로젝트를 보았으므로 mapviewballoon을 포팅하는 것보다 더 쉽게 뭔가를 놓치고 있다고 생각합니다. – Vivi

답변

8

편집 :이 답변 나이가 구글 맵 API에 대한 최고였다

  • . 구글 맵 V2에서는이 이 이미 주어졌습니다. 당신이 setBalloonData를 사용할 수있는 데이터를 설정하려면

    private void hideOtherBalloons(List<Overlay> overlays) { 
         for(int i=0; i<overlays.size();i++){ 
          if (overlays.get(i) instanceof BalloonItemizedOverlay<?> && overlays.get(i) != this) { 
           ((BalloonItemizedOverlay<?>) overlays.get(i)).hideBalloon(); 
          }else{ 
           BalloonOverlayView.SELECTED_BALLOON = i; 
           Log.i(i+" : Baloon Open", BalloonOverlayView.SELECTED_BALLOON+""); 
          } 
         } 
    } 
    

    을 따를

당신은 당신이 "BalloonItemizedOverlay.java"의 방법에서 풍선을 선택 얻을 수있는 https://github.com/galex/android-mapviewballoons

의 코드를 얻을 수 있습니다 BalloonOverlayView.java 파일의 메소드는 다음과 같습니다.

protected void setBalloonData(Item item, ViewGroup parent) { 
     if (item.getTitle() != null) { 
      title.setVisibility(VISIBLE); 
      title.setText(item.getTitle()); 
     } else { 
      title.setText(""); 
      title.setVisibility(GONE); 
     } 
     if (item.getSnippet() != null) { 
      snippet.setVisibility(VISIBLE); 
      snippet.setText(item.getSnippet()); 
     } else { 
      snippet.setText(""); 
      snippet.setVisibility(GONE); 
     } 
} 
+0

링크가 404입니다 ... – krzysztofkarolczak

+0

소스 코드에 대한 링크를 제공해주십시오. – TharakaNirmana

관련 문제