从当前位置查找随机目的地点在Google地图的给定距离内

时间:2014-06-24 23:03:13

标签: ios objective-c google-maps google-maps-api-3 map

我正在使用谷歌地图制作iOS地图。我希望​​在谷歌地图上绘制从当前位置到任意随机目的地的方式在给定距离内。

表示应用程序找到一个在给定距离内的随机目的地点(例如,可能是8公里或15公里)(只要它在人行道上,就不必准确地在距离内)。 RANDOM DESTINATION必须在路线上,因此用户可以从起点到指定点(随机点)运行。

如何从谷歌地图上的当前位置获取指定点。想法..

提前致谢。

1 个答案:

答案 0 :(得分:0)

使用arc4random_uniform()来计算一个值,该值比您希望您的点离开用户当前位置的最大量大200,000倍。然后从随机数中减去该最大值的一半,并除以最大值的一半。

双倍比例= 100000;

double maxNorthSouthChange = 2,000; // 2,000米,2k double randomNorthSouthChange = arc4random_uniform(maxNorthSouthChange * 2 * scale)/(2 * scale) -   maxNorthSouthChange *规模; // randomNorthSouthChange现在应该从-maxNorthSouthChange到+ maxNorthSouthChange;

double maxEastWestChange = 2,000; // 2,000米,2k double randomEastWesthange = arc4random_uniform(maxEastWestChange * 2 * scale)/(2 * scale) -   maxEastWestChange *规模; // randomEastWesthange现在应该从-maxEastWestChange到+ maxEastWestChange;

获取用户位置的纬度/经度。计算当前纬度的每度经度的公里数。 (每个纬度的公里数不会改变。)

使用这些值将随机更改值转换为纬度/长度,并将它们添加到用户的当前位置。

上面的代码将在用户周围的方框内创建一个随机位置。该框角落的最大距离将超过您指定的最大距离。如果你想让位置的最大随机变化在所有方向都相同,你需要重写上面的代码以使用trig,但是你说这个数量并不是必须精确的。

相关问题