gpt4 book ai didi

java - 从另一个按钮操作调用 onMapClick() 操作

转载 作者:行者123 更新时间:2023-12-01 11:14:10 26 4
gpt4 key购买 nike

我想通过按下按钮并向其发送所需的参数来触发 map 上的 onMapClick() 操作。每当触摸 map 时都会运行以下命令:

    @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));

}
});

出现错误,指出无法解析 onMapClick()。有某种方法可以做到这一点吗?或者最好将 onMapClick() 代码提取到一个单独的方法中,然后可以从两者中调用?

最佳答案

如果不查看 Activity/fragment 的整个代码,很难猜测原因

也许您将 map 监听器设置为匿名类。
如果是这样,则改为:

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

您应该让您的 Activity 实现 GoogleMap.OnMapClickListener 并像这样设置监听器

mMap.setOnMapClickListener(this);

然后你可以从任何地方调用OnMapClick

关于java - 从另一个按钮操作调用 onMapClick() 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32032937/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com