gpt4 book ai didi

iPhone、 map 、可点击的非矩形区域

转载 作者:行者123 更新时间:2023-12-03 18:41:27 28 4
gpt4 key购买 nike

有人对如何在 iPhone 上实现以下功能有任何想法吗?我们有一张美国 map ,它有不同颜色的不同区域(我相信是气候区域)。它们不是矩形的,也不遵循州、 zip 、县或任何其他定义的线。因此,我们的区域非常圆形,甚至不一定是连续的。

我很乐意让我们的用户能够单击他们的区域,并且我能够从他们触摸的位置辨别出哪个区域,但是对于我的生活来说,无法制作很多很多矩形来执行操作最适合曲线,我不知道如何做到这一点。

有什么想法吗?

编辑:这些区域可能会像这样难... link text

最佳答案

这些区域是如何定义的?如果您可以获得点数据,则使用以下命令创建 CGPath:

CGPathRef path = CGPathCreateMutable();
CGPathMoveToPoint(path,null,xpoints[0],ypoints[0])
for (int i = 1; i < numpoints; ++i) {
CGPathAddLineToPoint(path,null,xpoints[i],ypoints[i]);
}
CGPathCloseSubpath(path);

然后每当用户触摸时,对于每个区域,检查它是否包含触摸点:

if (CGPathContainsPoint(path,null,touchPoint,false)) ...

完成区域后不要忘记释放:

CGPathRelease(path);

请注意,您可以在一个 CGPathRef 中创建多个单独的子路径,当您检查包含情况时,它将检查所有子路径。

如果你愿意,你可以尝试使用圆弧或曲线来获得正确的线条,但这是我不太熟悉的东西。

关于iPhone、 map 、可点击的非矩形区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/870631/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com