It not worked perfectly,sometimes there was a error occured when I click the overlayItem.
Using java Syntax Highlighting
- public class myItemizedOverlay extends ItemizedOverlay<OverlayItem>
- {
- private MapActivity mMapActivity;
- private MapView mMapView ;
- private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
- public myItemizedOverlay(MapActivity mapActivity,MapView mapView ,Drawable defaultMarker)
- {
- super(boundCenterBottom(defaultMarker));
- mMapActivity = mapActivity;
- mMapView = mapView ;
- }
- public void addOverlay (OverlayItem overlay)
- {
- mOverlays.add(overlay);
- populate();
- }
- public void deleteOverlay (int index)
- {
- mOverlays.remove(index);
- populate();
- }
- public void deleteOverlay (OverlayItem overlay)
- {
- mOverlays.remove(overlay);
- populate();
- }
- @Override
- protected OverlayItem createItem(int i)
- {
- return mOverlays.get(i);
- }
- @Override
- public int size() {
- return mOverlays.size();
- }
- @Override
- public boolean onTap(int index)
- {
- deleteOverlay(getItem(index)) ;
- mMapView.invalidate() ;
- return super.onTap(index) ;
- }
- }
Parsed in 0.034 seconds, using GeSHi 1.0.8.4
the error message:
Using java Syntax Highlighting
- 07-04 06:46:54.332: ERROR/AndroidRuntime(23745): Uncaught handler: thread main exiting due to uncaught exception
- 07-04 06:46:54.352: ERROR/AndroidRuntime(23745): java.lang.ArrayIndexOutOfBoundsException
- 07-04 06:46:54.352: ERROR/AndroidRuntime(23745): at com.google.android.maps.ItemizedOverlay.maskHelper(ItemizedOverlay.java:562)
- 07-04 06:46:54.352: ERROR/AndroidRuntime(23745): at com.google.android.maps.ItemizedOverlay.setFocus(ItemizedOverlay.java:365)
- 07-04 06:46:54.352: ERROR/AndroidRuntime(23745): at com.google.android.maps.ItemizedOverlay.focus(ItemizedOverlay.java:539)
- 07-04 06:46:54.352: ERROR/AndroidRuntime(23745): at com.google.android.maps.ItemizedOverlay.onTap(ItemizedOverlay.java:455)
- 07-04 06:46:54.352: ERROR/AndroidRuntime(23745): at com.google.android.maps.OverlayBundle.onTap(OverlayBundle.java:83)
- 07-04 06:46:54.352: ERROR/AndroidRuntime(23745): at com.google.android.maps.MapView$1.onSingleTapUp(MapView.java:346)
- 07-04 06:46:54.352: ERROR/AndroidRuntime(23745): at android.view.GestureDetector.onTouchEvent(GestureDetector.java:503)
- 07-04 06:46:54.352: ERROR/AndroidRuntime(23745): at com.google.android.maps.MapView.onTouchEvent(MapView.java:623)
- 07-04 06:46:54.352: ERROR/AndroidRuntime(23745): at android.view.View.dispatchTouchEvent(View.java:3368)
- 07-04 06:46:54.352: ERROR/AndroidRuntime(23745): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:831)
- 07-04 06:46:54.352: ERROR/AndroidRuntime(23745): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
- 07-04 06:46:54.352: ERROR/AndroidRuntime(23745): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
- 07-04 06:46:54.352: ERROR/AndroidRuntime(23745): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
- 07-04 06:46:54.352: ERROR/AndroidRuntime(23745): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:863)
- 07-04 06:46:54.352: ERROR/AndroidRuntime(23745): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1707)
- 07-04 06:46:54.352: ERROR/AndroidRuntime(23745): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1197)
- 07-04 06:46:54.352: ERROR/AndroidRuntime(23745): at android.app.Activity.dispatchTouchEvent(Activity.java:1993)
- 07-04 06:46:54.352: ERROR/AndroidRuntime(23745): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1691)
- 07-04 06:46:54.352: ERROR/AndroidRuntime(23745): at android.view.ViewRoot.handleMessage(ViewRoot.java:1525)
- 07-04 06:46:54.352: ERROR/AndroidRuntime(23745): at android.os.Handler.dispatchMessage(Handler.java:99)
- 07-04 06:46:54.352: ERROR/AndroidRuntime(23745): at android.os.Looper.loop(Looper.java:123)
- 07-04 06:46:54.352: ERROR/AndroidRuntime(23745): at android.app.ActivityThread.main(ActivityThread.java:3948)
- 07-04 06:46:54.352: ERROR/AndroidRuntime(23745): at java.lang.reflect.Method.invokeNative(Native Method)
- 07-04 06:46:54.352: ERROR/AndroidRuntime(23745): at java.lang.reflect.Method.invoke(Method.java:521)
- 07-04 06:46:54.352: ERROR/AndroidRuntime(23745): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
- 07-04 06:46:54.352: ERROR/AndroidRuntime(23745): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
- 07-04 06:46:54.352: ERROR/AndroidRuntime(23745): at dalvik.system.NativeStart.main(Native Method)
Parsed in 0.042 seconds, using GeSHi 1.0.8.4



