Google Maps API v2
当我在等待另一个应用程序最终确定时,我正在创建另一个感兴趣的东西,只能一次将1个标记添加到地图中(我喜欢我做的地图).
我目前有这个代码,如果标记已经存在,将清除地图,然后添加另一个.但我想要的是它显示一条消息告诉用户清除地图之前它将允许添加另一个标记.
当我在等待另一个应用程序最终确定时,我正在创建另一个感兴趣的东西,只能一次将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))); } }