CartoDB / mobile-sdk

CARTO Mobile SDK core project
https://carto.com/docs/carto-engine/mobile-sdk/
BSD 3-Clause "New" or "Revised" License
184 stars 65 forks source link

Map doesn't allow for dragging around when map is in a UICollectionView and CollectionView. #520

Open liamcharmer opened 1 year ago

liamcharmer commented 1 year ago

Hello! I am using Carto maps but via NativeScript and a plugin made for the maps. I try to put the Map inside a collection scrolling view however the map doesn't allow me to drag around.

I created an issue here: https://github.com/nativescript-community/ui-carto/issues/2#issue-1399914119 With the plugin, however it seems that potentially the issue is with the SDK?

For reference this is what should be used to make it work https://developer.apple.com/documentation/uikit/uiview/1622453-exclusivetouch. But i tried and it does not seem to work.

Though I am not experienced enough to try Carto outside of nativescript which isn't very helpful.

farfromrefug commented 1 year ago

@mtehver to bring some context into this. @liamcharmer presented it from Nativescript but i think the issue is native. @liamcharmer could you change the title to mention UICollectionView and CollectionView. Carto Mobile Sdk has no notion of Nativescript so we need to talk "native".

So from what i have seen around the way a view defines that it should prevent scrolll within UIScrollView and UICollectionView is with UIView.exclusiveTouch It seems to be on by default for google maps and mkmapview. And it is working fine. Now it does not seem to work with carto. Actually it does work for the first touch "moves" and after a few pixels move it stops and the UICollectionView start scrolling. Once you did it once the map will never intercept the touch.

I did not have time to test it with the iOS sample carto apps, so for now only tested within Nativescript.

mtehver commented 1 year ago

Based from the description, it seems it could be a SDK issue. But as I have no experience with NativeScript, I would need a native iOS testcase (either ObjC or Swift based) to investigate this further.

farfromrefug commented 1 year ago

@liamcharmer could you try and create an iOS sample app ?