2015-08-16 73 views
0

我想通過按下一個按鈕並向其發送所需的參數來在我的地圖上觸發onMapClick()動作。每當地圖被觸摸下運行:從另一個按鈕動作調用onMapClick()動作

@Override 
    public void onMapClick(LatLng point) { 

     // animate camera to centre on touched position 
     mMap.animateCamera(CameraUpdateFactory.newLatLng(point)); 

     // Adding new latlng point to the array list 
     markerPoints.add(point); 

     // Creating MarkerOptions object 
     MarkerOptions marker = new MarkerOptions(); 

     // Sets the location for the marker to the touched point 
     marker.position(point); 

    } 

我想這個按鈕來複制相同的動作觸摸屏幕,除了我手動傳遞一個值:

mButtonCompleteLoop.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      onMapClick(markerPoints.get(0)); 

     } 
    }); 

錯誤是出現說在MapClick()無法解析。有沒有一種方法可以做到這一點?或者,將onMapClick()代碼提取到一個單獨的方法中,然後從兩個方法中調用它會更好嗎?

+0

叫OnMapClick檢查我的答案 –

+0

KvnH,來吧,關閉這個問題 –

回答

1

這是很難猜測的理由不看你的活動/片段的整個代碼

也許你設置你的地圖監聽器匿名類。
如果是這樣,而不是:

mMap.setOnMapClickListener(new GoogleMap.OnMapClickListener() { 
    @Override 
    public void onMapClick(LatLng latLng) { 
     //this 
    } 
}); 

你應該讓你的活動實現GoogleMap.OnMapClickListener並設置監聽器這樣

mMap.setOnMapClickListener(this); 

然後你可以從任何地方

相關問題