【问题标题】:Add Marker on google map via onmapclick通过 onmapclick 在谷歌地图上添加标记
【发布时间】:2018-12-09 15:34:00
【问题描述】:

首先要说:我是一个新手程序员...... 我正在尝试修改我在 github 上找到的开源,但我遇到了这个问题:当我在调试我的应用程序时点击时,添加标记不起作用。

@Override
public void onMapClick(LatLng latLng) {
    if (mMarker == null) {
        MarkerOptions markerOptions = new MarkerOptions();
        markerOptions.title(latLng.toString())
                .position(latLng)
                .draggable(true);
        mMarker = mMap.addMarker(markerOptions);
    } else {
        mMarker.setPosition(latLng);
        mMarker.setTitle(latLng.toString());
        mMarker.showInfoWindow();
    }
}

公开课:

public class MainActivity extends AppCompatActivity implements EasyPermissions.PermissionCallbacks, OnMapReadyCallback, GoogleMap.OnMapClickListener {

除了我的 if-else 代码之外,我尝试了许多我在 stackoverflow 和 google api 文档上阅读的代码示例,但当我点击手机屏幕时仍然什么都不做。

对不起我的英语......

【问题讨论】:

  • 你确定你在onmapready里面有yourmapobject.setOnMapClickListener(this)
  • 但是onMapClick在onMapReady的括号外。我还需要你在 onMapReady 中编写的代码吗?
  • Log.e(TAG, "map click"); 放入您的onMapClick() 方法中,并在您点击地图时检查它是否被记录
  • @Barns 我做到了,但没有任何反应
  • 添加有助于帮助的整个活动的代码

标签: java android android-studio


【解决方案1】:

正如@Pavneet_Singh 所写,这成功了:

之前:

 @Override
public void onMapReady(GoogleMap googleMap) {
    mMap = googleMap;
}

之后:

 @Override
public void onMapReady(GoogleMap googleMap) {
    mMap = googleMap;
    mMap.setOnMapClickListener(this);
}

【讨论】:

    猜你喜欢
    • 2016-03-16
    • 2015-08-22
    • 2013-06-13
    • 2011-08-04
    • 2015-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多