2011-10-10 75 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