2015-08-16 72 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); 

然后你可以从任何地方

相关问题