如何在iPhone地图中获得一点点的随机点



我正在开发一个包含地图的iPhone应用程序。启动屏幕是导航屏幕,用户可以在其中选择位置,请说佛罗里达。现在,当用户选择佛罗里达时,我想从佛罗里达州拿到至少六个随机点(纬度和经度的点,以便我可以注释)。

我没有DB,因此我不能从DB中为佛罗里达州取5分并放置它们。

有什么想法?

谢谢,

如果您没有任何东西可以告诉您要在其中产生随机点的区域的形状和大小,这将非常困难。Harikrishnan为您提供了一个良好的开端,尽管每次将LAT的时间增加0.0001,这几乎不是随机的。在佛罗里达州的坐标(28.0908°N,81.9604°W,根据Google的说法)在两个方向上移动0.0001仅1400万,因此您不太可能以这种速度离开佛罗里达。

您可以使用随机数而不是0.0001来调整Harikirshnan的方法,但是您仍然需要知道用户正在查看的区域的大小。当您看一个州甚至城市时,要获得5分的14m,这并不是什么好。

也许您需要更仔细地研究要实现的目标。如果这些点不代表地理数据,那么为什么要将它们放在地图上。如果他们这样做并且代表整个区域,而不是一个点,那么我能想到的最好的是基于Apple返回用户选择的位置的MAPRECT生成随机点。(大概是mapX = random*maprect.size.width + maprect.origin.x)。然后,如果您有一个像佛罗里达这样的区域,它的形状并不像Mkmapview那样完美,您需要反向地理位置,以查看您选择的点是否真的在佛罗里达州内(即将坐标发送到苹果并检查地址)。

或,您现在可以考虑在地图上显示数据

尝试此

NSInteger i;
    double offset=0.0001;
    for(i=1;i<=5;i++){
        double newlatitude=location.coordinate.longitude+offset;
        double newlongitude=location.coordinate.longitude+offset;
        NSLog(@"%f ,%f",newlatitude,newlongitude );
        offset+=0.0001;
    }

最新更新