gpt4 book ai didi

ios - CLCircularRegion 获取1英里半径内的随机点

转载 作者:行者123 更新时间:2023-11-29 10:37:35 27 4
gpt4 key购买 nike

到目前为止,我已经尝试生成随机纬度和经度并使用“CLLocationCoordinate2DIsValid”对其进行验证。但问题是我从来没有在我指定的“CLCircularRegion”中获得坐标。以下是我写的逻辑:

    CLLocationCoordinate2D myCoordinates = { currentLocationLatitude, currentLocationLongitude };

CLCircularRegion *myRegion = [[CLCircularRegion alloc] initWithCenter:myCoordinates radius:160934 identifier:@"myID"];


for (int i=0; i< 15; i++) {

double latitude = (arc4random()%20) + (myCoordinates.latitude);
double longitude = (myCoordinates.longitude) + arc4random()%10;

CLLocationCoordinate2D randomCoordinate = CLLocationCoordinate2DMake(latitude, longitude);

if(CLLocationCoordinate2DIsValid(randomCoordinate) != NO)
{
NSLog(@"randomCoordinate: %f %f", randomCoordinate.latitude, randomCoordinate.longitude);
if([myRegion containsCoordinate:randomCoordinate])
{
NSLog(@"Point contains inside your region.");
}
}

}

这个实现有什么问题吗?或者有没有其他方法可以找到随机点?

最佳答案

您的代码是正确的。唯一的问题是,如果您将纬度加 1,经度加 1,您将得到 138 公里的距离,但您的半径是 160 公里。所以,基本上你只能将 +1 添加到纬度/经度而不是 10 或 20...或者你需要增加半径...使用链接检查距离:http://www.movable-type.co.uk/scripts/latlong.html

关于ios - CLCircularRegion 获取1英里半径内的随机点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26143194/

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