0

iPhoneアプリで地図機能を使用しています。ユーザーの現在地を地図上に表示しています。ユーザーが地図をスクロールするたびに、新しい場所の店舗を表示する必要があります。例えば。ニューヨークのユーザー
が最初にニューヨークの店舗を表示するとしますが、彼がテキサスに地図をスクロールすると、アプリはテキサスの場所のWebサービスリクエストを起動する必要があります。私の問題は

1)Webサービス要求が各マップスクロールで行われる場合、アプリがクラッシュするか、新しいストアのセットに対する応答を毎回待つ可能性があります。(この場合、リクエストを送信するためにハードコードされた半径を配置します)それで、それを適切な方法で処理する方法。2)2つの場所の間の距離が特定の値よりも大きい場合にのみサーバーにリクエストを送信できるように、2つの場所の間の距離を知りたい。

上記の機能にマップビューデリゲートを使用しています。それを処理するための適切な方法を教えてください。

ありがとう

4

1 に答える 1

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];

これがあなたを助けることができるかどうか見てください。

于 2011-10-10T05:54:25.997 に答える