繁体   English   中英

从另一个按钮动作调用onMapClick()动作

[英]Calling the onMapClick() action from another button action

我想通过按下按钮并向其发送所需的参数来触发地图上的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));

        }
    });

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

如果不查看活动/片段的完整代码,就很难猜测原因。

也许您将地图侦听器设置为匿名类。
如果是这样,请改为:

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

您应该使自己的活动实现GoogleMap.OnMapClickListener并像这样设置侦听器

mMap.setOnMapClickListener(this);

然后您可以从任何地方致电OnMapClick

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM