繁体   English   中英

为什么我的添加标记按钮不起作用?

[英]Why does my add marker button not work?

我目前正在开发需要地图的Android Studio应用。 在此地图中,我有一个名为“添加标记”的按钮。 我想用这个按钮做的是每当我按下它时在我的当前位置显示一个标记。

为此,我有下一个方法:

private void drawMarker(Location location) {
        if (mMap != null) {
            mMap.clear();
            LatLng gps = new LatLng(location.getLatitude(), location.getLongitude());
            mMap.addMarker(new MarkerOptions().position(gps));
            mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(gps, 16));
        }

    }

这种方法的问题在于它的参数是Location location,因此,每当我初始化应用程序并在其上按下时,我的应用程序将停止并显示错误。 我认为这是因为我的参数应该是View视图。

这是错误:java.lang.IllegalStateException:在活动类com.naluapp.naluapp.MapsActivity的id为'addMarker的视图类android.widget.Button的onClass处理程序中找不到方法drawMarker(View)

我试图通过在地图活动中放置一个可变的Location位置来解决此问题,但这并不能解决我的问题。 我不会这种语言,所以我需要您的帮助。 你知道如何解决这个问题吗?

您在XML布局中引用的android:onClick方法必须具有View参数,并且该方法必须是公共的。

只需在Activity中定义一个Location成员变量,如show here所示 ,然后在drawMarker()方法中引用它:

public void drawMarker(View v) {
    if (mMap != null && mLastLocation != null) {
        mMap.clear();
        LatLng gps = new LatLng(mLastLocation.getLatitude(), mLastLocation.getLongitude());
        mMap.addMarker(new MarkerOptions().position(gps));
        mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(gps, 16));
    }

}

暂无
暂无

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

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