2013-10-17 57 views
3

我有地圖和標記。我需要做的時候用戶推這個標記或推動附近這個標記應用程序將「做的onClickClick監聽器」,並返回我點擊的座標,而不是「onMarkerClick」。它可以忽略一個標記的標記點擊,並使onMapClick代替?忽略onMarkerClick並使用onMapClick以編程方式在android

我嘗試這樣做,但它沒有做任何事情:

mMap.setOnMarkerClickListener(新OnMarkerClickListener(){

 @Override 
     public boolean onMarkerClick(Marker arg0) {    
      if(arg0.getSnippet().equals("bad_marker")){ 

        mMap.setOnMapClickListener(new OnMapClickListener() {   
        @Override 
        public void onMapClick(LatLng latLng) {        
         mapClick(latLng); 
        }  
      }); 
      }}); 
+0

你的問題不清楚。另外,我不會像你那樣在另一個監聽器中設置一個監聽器。你需要得到你剛纔點擊的標記位置嗎?如果是這樣,那麼有一個方法:getPosition()。 – fasteque

+0

我試過這種方法 - 但它返回點擊標記座標,但我需要準確的點擊座標。因爲點擊可以靠近標記位置,但它仍然cals onMarkerClickListener() – Eddwhis

+0

我有同樣的問題:http://stackoverflow.com/questions/15401988/disable-onmarkerclicklistener-completely-in-maps-api-v2 – Flyview

回答

0

保存在一個類變量標誌,所以你

然後設置一個OnMarkerClickListener並檢查arg0是否是您的標記:如果是,請執行您在用戶單擊該標記時必須執行的操作。

同時設置一個setOnMapClickListener並檢查onMapClick給出的latLng是否接近標記的位置。您將標記作爲類變量,因此您可以獲取其位置,並根據用戶單擊的地圖上的位置進行檢查。

+0

這樣做沒有解決問題如果調用OnMarkerClick,MapClick永遠不會被調用。 – Flyview