[android]从另一个调用 onMapClick() 行动 button 行动

发布时间: 2016/6/27 19:22:40
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我想要触发 onMapClick() 行动我的地图上按 button 并将它发送所需的参数。 只要地图感动,是运行以下内容 ︰

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

    }

我想要这个 button 复制相同的操作触摸屏,除了我手动通过在一个值 ︰

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

            onMapClick(markerPoints.get(0));

        }
    });

显示说那 onMapClick() 无法解决的错误。 有一定的办法做到这一点吗?或者是将 onMapClick() 代码提取到一个单独的方法,然后可以从两个调用吗?

解决方法 1:

很难猜测原因没有回眸时,活性fragment的整个代码

也许你设置你的地图listener作为匿名类。
如果是这样,而不是 ︰

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

你应该使你 activity 实现了 GoogleMap.OnMapClickListener 和像这样设置的listener

mMap.setOnMapClickListener(this);

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

官方微信
官方QQ群
31647020