2013-04-07 2 views
9

V2 맵 사용.Google지도 OnMarkerClickListener를 사용할 수 없습니다.

기본적으로 마커 추가를 포함하여 모두 작동합니다.

는 그러나, 나는 마커를 탭하면 조치를 취할 필요가, 그래서 핸들러를 설치 한 :

thisMap.setOnMarkerClickListener(new GoogleMap.OnMarkerClickListener() { 

    @Override public boolean onMarkerClick(Marker marker) { 
     // Take some action here 
     return true; 
    } 

} 
); 

만 문제는 - onMarkerClick()는 전혀 호출되지 없구요. 이유는 알 수 없습니다. 원래지도가 만들어 졌을 때와 마커를 배치 한 후에 청취자를 만들려고했지만 아무런 차이가 없었습니다.

?

답변

-1

대신 OnInfoWindowClickListener를 사용하여 작동하도록 관리했습니다. 왜 그것이 마커 클릭에 응답하지 않을 지 모르겠다.

6

이 나를 위해 잘 작동 :

GoogleMap mMap; 
Marker marker_1; 

지도를 초기화 한 후,에 청취자를 추가합니다. 이 "true"를 반환하는 경우

mMap.setOnMarkerClickListener((OnMarkerClickListener) this); 

그리고 당신은 마커를 클릭하고 반환 클릭 이벤트가 properly.If 처리되고,이

/** 
* handle marker click event 
*/  
@Override 
public boolean onMarkerClick(Marker marker) { 
    // TODO Auto-generated method stub 
    if(marker.equals(marker_1)){ 
     Log.w("Click", "test"); 
     return true; 
    } 
     return false;   
} 

를 호출 거짓 그냥 평소와 같이 정보 창을 나타납니다 . 안드로이드 문서에 따르면

, 리스너가 이벤트 을 소비 한 경우는 true를 반환를 클릭 것 마커 (즉, 기본 동작이 발생하지 않습니다), 그렇지 않으면 (즉, 기본 동작이 발생한다)가 false. 기본 동작은 카메라가지도로 이동하고 정보 창이 표시되는 것입니다.

0

GoogleMap mMap;

사용이 :

mMap.setOnMarkerClickListener ((OnMarkerClickListener)이);

아니요 mMap.setOnMarkerClickListener (OnMarkerClickListener);

0
당신이 사용할 수

단순히 snipet :

onMapReady (GoogleMap으로 GoogleMap으로)에서
import com.google.android.gms.maps.GoogleMap.OnMarkerClickListener; 

GoogleMap mGoogleMap; 
Marker marker_1; 

추가

mGoogleMap.setOnMarkerClickListener(new OnMarkerClickListener() { 
     @Override 
     public boolean onMarkerClick(Marker marker) { 

      // TODO Auto-generated method stub 
      if(marker.equals(marker_1)){ 
       Log.w("Click", "test"); 
       return true; 
      } 
      return false; 

     } 
    }); 
관련 문제