Java 以用户身份放置多个覆盖
我一直在做一个项目,创建一个地图(使用谷歌api),用户可以在地图上使用longpress来放置自定义覆盖图。到目前为止,我已经能够允许用户放置一个覆盖,但当您放置第二个覆盖时,程序崩溃。我怀疑这是因为该方法试图重用相同的变量名?这是我正在使用的代码段,如果您能帮助我实现这一点,我们将不胜感激Java 以用户身份放置多个覆盖,java,android,google-maps,android-maps,overlays,Java,Android,Google Maps,Android Maps,Overlays,我一直在做一个项目,创建一个地图(使用谷歌api),用户可以在地图上使用longpress来放置自定义覆盖图。到目前为止,我已经能够允许用户放置一个覆盖,但当您放置第二个覆盖时,程序崩溃。我怀疑这是因为该方法试图重用相同的变量名?这是我正在使用的代码段,如果您能帮助我实现这一点,我们将不胜感激 @Override public void onLongPressFinished(MotionEvent e, ManagedOverlay overlay, GeoPoint point, Manag
@Override
public void onLongPressFinished(MotionEvent e, ManagedOverlay overlay, GeoPoint point, ManagedOverlayItem item) {
if (item != null)
Toast.makeText(getApplicationContext(), "You selected..." + item.getTitle() + "!", Toast.LENGTH_LONG).show();
ManagedOverlay managedOverlay = overlayManager.createOverlay("listenerOverlay", getResources().getDrawable(R.drawable.tankicon));
managedOverlay.createItem(point, "text");
overlays.add(managedOverlay);
overlayManager.populate();
}
}
请试试这个。这用于在地图视图上显示多个重叠,可能会解决问题:要解决问题,我只需使用onDoubleTap方法而不是longPress。longPress被证明是一种有问题的方法,因为它可能被误解,有时甚至不起作用 然而,大部分代码仍然是相同的
@Override
public boolean onDoubleTap(MotionEvent e, ManagedOverlay overlay, GeoPoint point, ManagedOverlayItem item) {
ManagedOverlay managedOverlay = overlayManager.createOverlay("Location", getResources().getDrawable(R.drawable.icon));
managedOverlay.createItem(point, "place");
overlays.add(managedOverlay);
Toast.makeText(getApplicationContext(), "You selected " + managedOverlay.getName() + " !", Toast.LENGTH_LONG).show();
overlayManager.populate();
请用语言标记