2014-06-18 68 views
-2

問題是,當我將互聯網連接從wifi轉到3G時,位置不更新,並且確實沒有更新到位置。任何人都可以幫助我?我必須每5秒發送更新的當前位置到服務器通過Web服務.web服務正在調用,但每次相同的座標去server.i想要發送更新的位置的座標,但在3G位置更新方法從來沒有調用時,我改變位置didUpdateToLocation在3G上只撥打過兩次

[mapview animateToLocation:newLocation.coordinate]; 
Currentmarkers.position = CLLocationCoordinate2DMake(newLocation.coordinate.latitude,newLocation.coordinate.longitude); 
deleg.currentCoordinates = [[CLLocation alloc]initWithLatitude:newLocation.coordinate.latitude longitude:newLocation.coordinate.longitude]; 

下面是我用來創建位置管理器的代碼:從無線網絡到3G的切換應該不會有什麼關係呢

currentLocation = [[CLLocationManager alloc]init]; 
currentLocation.distanceFilter = kCLDistanceFilterNone; 
currentLocation.desiredAccuracy = kCLLocationAccuracyHundredMeters; // 100 m 
currentLocation.delegate = self; 
[currentLocation startUpdatingLocation]; 
+0

此代碼不能解決您的問題。 – Apurv

+0

上下文在問題中確實缺失。由於該位置已經獲得GPS,所以改爲3G不會觸發位置改變。這是有道理的,因爲GPS與3G/WiFi無關。 – rckoenes

+0

我必須每5秒發送更新的當前位置到服務器通過網絡服務.web服務正在調用,但每次相同的座標去server.i想發送更新位置的座標,但在3G位置更新方法從未調用時我更改位置 –

回答

0

您需要發佈創建位置管理器的代碼,配置它,將您設置爲委託,以及您的位置管理器委託方法。如果您將所需的精度或distanceFilter值設置得足夠高,則只有移動相當遠的距離後纔會收到通知。

嘗試將精度設置爲「最佳」值,並將距離過濾器值設置爲kCLDistanceFilterNone進行測試。

您可能還需要在界面上添加滾動文本視圖來記錄位置更新,然後攜帶設備並去散步一公里左右。然後,您應該將var移動到足以確保獲取位置更新。