2014-02-11 132 views
5

所以我一直在嘗試檢測點擊事件到MapView爲了啓動一個方法與點擊。MapView onCLick事件監聽器

嘗試任何變化的標準onClickListeneronTouch都不好。

我不想在地圖的某個部分添加一個覆蓋「catch」點擊。 我希望地圖能夠繼續響應拖動,縮放等。

任何幫助,將不勝感激。

+0

使用onTouch方法以及GestureDetector並使用singleTaPconfirmed()並保留其他值。 –

+0

SInce MapView實現使用Surface來捕獲所有觸摸事件。正如我寫的標準onTouch將無法正常工作。 – Givi

回答

14

所以,顯然這個解決方案非常簡單。 我想它是在最後一個支持庫中添加的。 GoogleMap現在支持onMapClick。

mMapView.getMap().setOnMapClickListener(new OnMapClickListener() 
       { 
        @Override 
        public void onMapClick(LatLng arg0) 
        { 
         android.util.Log.i("onMapClick", "Horray!"); 
        } 
       }); 
+0

謝謝。簡單但有用的解決方案:) –

4

在谷歌Play服務的新版本中,你應該調用方法後,地圖已經準備好,在onMapReady(GoogleMap map);回調。

@Override 
public void onMapReady(GoogleMap googleMap) { 
    googleMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() 
    { 
     @Override 
     public void onMapClick(LatLng arg0) 
     { 
      android.util.Log.i("onMapClick", "Horray!"); 
     } 
    }); 
}