2011-10-10 121 views
0

我在我的iPhone应用程序中使用地图功能。我向用户显示地图上的用户当前位置的商店。 每当用户滚动地图时,他需要显示新地点的存储。例如。假设用户在
纽约在第一个应用程序将显示纽约商店,但是当他滚动地图到德克萨斯,然后应用程序应该启动对德克萨斯州位置的Web服务请求。我的问题是在iPhone应用程序中刷新地图视图

1)如果web服务请求在每个地图滚动时发生,应用程序可能会崩溃或等待每次响应新的商店集合。 (为此我将把一些硬编码的半径发送请求)所以如何处理它适当的方式。 2)我想知道两个位置之间的距离,这样我只有在两个位置之间的距离大于某个特定值时才可以向服务器发送请求。

我正在使用上述功能的地图视图代表。请建议我一些正确的方法来处理它。

感谢

回答

0

好找2点之间的距离,我使用

CLLocation *location1 = [[CLLocation alloc]initWithLatitude:[[dict valueForKey:@"lat"] doubleValue] longitude:[[dict valueForKey:@"lon"]doubleValue]]; 
float distance =[mUserCurrentLocation distanceFromLocation:location1]/1000;  
float distanceinMeters=[mUserCurrentLocation distanceFromLocation:location1];  NSString *distancestr= [NSString stringWithFormat:@"%.2f KM",distance]; 

看看这可以帮助你。

+0

使用上面的我可以得到不同..但如何处理Web服务请求,每滚动一次会得到调用? – Swapnil

+0

如果你有2点拉特长..然后用上面的函数计算距离,并把一些条件说如果(距离> 100),然后做任何你想做的事....这是我可以帮助你.. ... – Sabby