mousebird-consulting-inc / WhirlyGlobe

WhirlyGlobe Development
Other
828 stars 255 forks source link

MaplyMapViewController click problem #1063

Closed songyuyang0918 closed 6 years ago

songyuyang0918 commented 6 years ago

Dear developers! There are many points or lines on my map (which may cross), and I now want to gesture to click somewhere to expand the pixel area I click (40*40) to get all the MaplyVectorObject objects in that area. Rather than maplyViewController: didSelect: atLoc: onScreen: only returns an object. Can this framework be implemented? Do you have any ideas to share? Thank you very much.

mousebird commented 6 years ago

Use the allSelect variant of the delegate method.

songyuyang0918 commented 6 years ago

Dear developers, I am using 2D map mode, and there is no way to return all the objects you have mentioned. I tried to change the selectLabelsAndMarkerForScreenPoint userDidTapLayerThread and get the result I want. Don't know I'm safe? Another question: Gestures to click on objects are not very accurate. I try to modify pointNearLinear: short: inViewController The value of distance is modified. But the effect is not so obvious. I want to say that you are judging by the distance of the click range object, which is true between points. But if it's drawing lines or drawing faces, I think it's not very friendly.

mousebird commented 6 years ago

Use this delegate method to get all the nearby objects:

songyuyang0918 commented 6 years ago

Do you use the distance between points to screen, is the intersection between drawing lines and drawing surfaces more accurate, or do you have a more accurate screening method?

mousebird commented 6 years ago

Distance is in screen coordinates for points, and I believe lines as well. For polygons it's a point in polygon test.