Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 在添加另一个标记之前检查现有标记大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_502_1@
Google Maps API v2
当我在等待另一个应用程序最终确定时,我正在创建另一个感兴趣的东西,只能一次将1个标记添加到地图中(我喜欢我做的地图).
我目前有这个代码,如果标记已经存在,将清除地图,然后添加一个.但我想要的是它显示一条消息告诉用户清除地图之前它将允许添加一个标记.

@Override
    public void onMapClick(LatLng position){
        if (position != null){
            mMap.clear();
            mMap.addMarker(new MarkerOptions()
            .position(position)
            .icon(BitmapDescriptorFactory.fromresource(R.drawable.ic_launcher_new)));
        }
        else {
            mMap.addMarker(new MarkerOptions()
            .position(position)
            .icon(BitmapDescriptorFactory.fromresource(R.drawable.ic_launcher_new)));           
        }
    }

我试过了

@Override
    public void onMapClick(LatLng position){
        if (position != null){
            Toast.makeText(this,"Clear map before adding another LOCATIOn",Toast.LENGTH_SHORT).show();

        }
        else {
            mMap.addMarker(new MarkerOptions()
            .position(position)
.icon(BitmapDescriptorFactory.fromresource(R.drawable.ic_launcher_new)));           
        }
    }

所有这一切都是显示我想要的信息,即使没有标记存在,所以你实际上不能添加任何标记.我应该在这里使用ArrayList吗?该应用程序一次只允许1个标记设计.在询问之前,我环顾四周,没有发现任何特定于我的需求.

谢谢

这是我编辑过的代码,但仍然不起作用:

@Override
    public void onMapLongClick(LatLng position) {
        mMap.clear();
        Toast.makeText(this,"Position Cleared",Toast.LENGTH_SHORT).show();
        position = null;
    }

    @Override
    public void onMapClick(LatLng position){
        if (position != null){
            Toast.makeText(this,"Clear first",Toast.LENGTH_SHORT).show();
            /*mMap.clear();
            mMap.addMarker(new MarkerOptions()
            .position(position)
            .icon(BitmapDescriptorFactory.fromresource(R.drawable.ic_launcher_new)));*/
        }
        else {
            mMap.addMarker(new MarkerOptions()
            .position(position)
            .icon(BitmapDescriptorFactory.fromresource(R.drawable.ic_launcher_new)));           
        }
    }

在使用onMapLongClickListener清除地图后,仍然没有让我添加标记

解决方法

addMarker返回@L_455_1@marker对象,您可以使用该对象来更新或指示您已经创建了Marker.

您还可以使用Marker对象将其从地图中删除,而不是删除所有标记的clear().

在伪代码中:

@H_117_8@marker marker; if(marker == null) { marker = map.addMarker(...) } else { .... }

大佬总结

以上是大佬教程为你收集整理的android – 在添加另一个标记之前检查现有标记全部内容,希望文章能够帮你解决android – 在添加另一个标记之前检查现有标记所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。