【问题标题】:finds a random destination point from current location is within the given distance GoogleMaps从当前位置找到一个随机目的地点在给定距离内谷歌地图
【发布时间】:2014-08-15 08:55:07
【问题描述】:

我正在使用谷歌地图制作 iOS 地图。我想在谷歌地图上绘制一条从当前位置到给定距离内任意随机目的地的路线。

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

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

提前致谢。

【问题讨论】:

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


    【解决方案1】:

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

    双倍刻度 = 100000;

    double maxNorthSouthChange = 2,000; //2,000 米,2k 双随机NorthSouthChange = arc4random_uniform(maxNorthSouthChange*2*scale)/(2*scale)- 最大南北变化*比例; //randomNorthSouthChange 现在应该从 -maxNorthSouthChange 到 +maxNorthSouthChange;

    double maxEastWestChange = 2,000; //2,000 米,2k double randomEastWesthange = arc4random_uniform(maxEastWestChange*2*scale)/(2*scale)- maxEastWestChange*比例; //randomEastWesthange 现在的范围应该从 -maxEastWestChange 到 + maxEastWestChange;

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

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

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

    【讨论】:

    • 感谢 Duncan C 的回复,但 RANDOM DESTINATION 必须在路线上,因为用户已经从起点跑到指定点(随机点)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-14
    • 1970-01-01
    相关资源
    最近更新 更多