【问题标题】:Why does my add marker button not work?为什么我的添加标记按钮不起作用?
【发布时间】:2017-09-28 16:51:20
【问题描述】:

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

为此,我有下一个方法:

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

    }

这个方法的问题是它的参数是位置位置,所以每当我初始化应用程序并按下它时,我的应用程序将停止并显示错误。我认为这是因为我的参数应该是 View view。

这是错误: java.lang.IllegalStateException:在活动类 com.naluapp.naluapp.MapsActivity 中找不到方法 drawMarker(View) 用于视图类 android.widget.Button 上的 onClick 处理程序,ID 为“addMarker”

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

【问题讨论】:

    标签: android google-maps button marker


    【解决方案1】:

    您在 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));
        }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-19
      • 1970-01-01
      • 1970-01-01
      • 2010-10-30
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多