mapView Marker Listener is very inconsistent and un-reliable. Any ways to improve this?

I am doing my best to get the mapView into a usable state but really having a hard time. The markers are very fickle creatures. The behavior I want to see is : 

  1. I tap a marker -> it shows me the marker bubble
  2. If interested, I tap the marker bubble -> Marker listener gets called and I do what I need to do in there. 

Here’s what I’m seeing on device

  1. I tap marker real quick  -> it shows me the marker bubble which when tapped triggers the listener
  2. I tap marker a little slowly or sort of hold my finger on it -> the listener gets triggered without showing the bubble at all. 

The response is very erratic and unreliable. Sometimes I get the bubble and sometimes I don’t.

Is there any way at all to deal with this issue programmatically or are we totally at Corona Lab’s mercy to fix this bug and improve mapView such that it becomes somewhat useable?

Thank you very much for your kind input.

Regards,

Kerem

Any ideas? For now I resorted to keeping some global counters to keep track of how many taps are registered for a given marker. This way I ignore the first tap and on second tap I go to the detail view. If tap comes for a different marker then I reset my tap counter etc. A little clunky but seems to work. Any other ideas will be most welcome. Thank you. 

I am not having such problems with the map, marker, and listener.

The ‘market listener’ only appears when double tap. Not when I touch it. Could be the device, as I know the behaviour varies among adriod devices.

Yes. My initial observations above were all based on IOS. Android seems to be behave a lot different. The tap on the bubble does not trigger the listener. Single tap on the pin brings up the bubble. Double tap then triggers the listener. 

Additional inconsistency on the Android is that the bubbles don’t disappear when another marker or location is tapped on the map. This is what happens on IOS. Android bubbles only disappear when the x is tapped. 

Any ideas? For now I resorted to keeping some global counters to keep track of how many taps are registered for a given marker. This way I ignore the first tap and on second tap I go to the detail view. If tap comes for a different marker then I reset my tap counter etc. A little clunky but seems to work. Any other ideas will be most welcome. Thank you. 

I am not having such problems with the map, marker, and listener.

The ‘market listener’ only appears when double tap. Not when I touch it. Could be the device, as I know the behaviour varies among adriod devices.

Yes. My initial observations above were all based on IOS. Android seems to be behave a lot different. The tap on the bubble does not trigger the listener. Single tap on the pin brings up the bubble. Double tap then triggers the listener. 

When two markers are very close together, the iOS map markers cycle being selected in order to allow a user to select the one they want.

The Corona event marker listeners seem to fire for the marker nearest the touch, regardless of which marker is selected on the actual map.

Thanks for that observation. You are absolutely right. The mapView really needs an overhaul sooner than later. 

Thanks for the confirmation, ksan! I filed a bug for that specific issue (Map Marker Listeners Do Not Fire Correctly, Case 32082).

Great job! Thank you very much for taking the time. 

Good news, I just got the following response to my case:


This issue has been fixed and will be in build 2276.


Nice response time… impressive!

Super.! Thanks much for posting that bug report and thanks to Corona Labs for the quick response. My map marker (IOS) anomaly bug was fixed rapidly as well. Seems like mapView is getting some good attention lately. Hope they improve the other lacking aspects at some point as well. 

Additional inconsistency on the Android is that the bubbles don’t disappear when another marker or location is tapped on the map. This is what happens on IOS. Android bubbles only disappear when the x is tapped. 

Yayy - post 2277, my previous approach of counting taps is not working anymore… Now need to re-work my workaround once again… 

Can we please re-open the case below?

Map Marker Listeners Do Not Fire Correctly, Case 32082

The listeners are now even more messed up than before. 1st tap on a marker does not bring up the bubble but you need 2 taps to bring up the bubble. This was not the case before this “fix”… 

Bug reported - (Case 32661) Tapping on map marker causes segmentation fault crash

May  6 19:30:48 Kerems-iPhone ReportCrash[7527] <Notice>: ReportCrash acting against PID 7519

May  6 19:30:50 Kerems-iPhone ReportCrash[7527] <Notice>: Formulating crash report for process 2281_MapView[7519]

May  6 19:30:50 Kerems-iPhone com.apple.launchd[1] (UIKitApplication:2281-MapView[0x2742][7519]) <Warning>: (UIKitApplication:2281-MapView[0x2742]) Job appears to have crashed: Segmentation fault: 11

May  6 19:30:50 Kerems-iPhone backboardd[28] <Warning>: Application ‘UIKitApplication:2281-MapView[0x2742]’ exited abnormally with signal 11: Segmentation fault: 11

Using Corona Labs sample MapView, tap Find Location, map will locate an address and put a marker. Tap that marker couple times and you will get the crash reported above. 

This is occurring in build 2281 but not in 2275 so I presume it is related to the fixed introduced in 2276.

Ok. Another one that was introduced with the recent bug fix that went live, I think in build # 2276… This is what I was writing about above on 6th May. Reported as 

Case 32780) Marker tap doesn’t bring up bubble on first tap - Regression bug post 2276

Basically, when you have multiple markers on a map and you tap one, the bubble pops up. You tap on another marker the bubble for that one needs to pop and used to before 2276. Now the new marker you tap needs a second tap to bring up its bubble. Not good. Please kindly fix this one as soon as possible as its a regression bug introduced while fixing other mapView issues. I need build # > 2276 functionality / fixes for other elements but can’t go there due to this bug. 

Thanks for listening. 

When two markers are very close together, the iOS map markers cycle being selected in order to allow a user to select the one they want.

The Corona event marker listeners seem to fire for the marker nearest the touch, regardless of which marker is selected on the actual map.