我正在嘗試創建一個應用程序,該應用程序需要我的iPhone的GPS座標並在地圖上顯示我的當前位置。將GPS座標從我的iPhone傳遞到Web服務並在地圖上顯示GPS座標
我從我的iPhone上使用LocateMe示例代碼得到GPS座標,所以現在對我來說這不是問題。
但我不知道如何將我的GPS座標從我的iPhone發送到Web服務並在地圖上顯示GPS座標。如果你們能夠幫助我解決這個問題,那將是非常好的。
我正在嘗試創建一個應用程序,該應用程序需要我的iPhone的GPS座標並在地圖上顯示我的當前位置。將GPS座標從我的iPhone傳遞到Web服務並在地圖上顯示GPS座標
我從我的iPhone上使用LocateMe示例代碼得到GPS座標,所以現在對我來說這不是問題。
但我不知道如何將我的GPS座標從我的iPhone發送到Web服務並在地圖上顯示GPS座標。如果你們能夠幫助我解決這個問題,那將是非常好的。
您可能需要使用NSURLConnection的類,如下所示(你只需要設置在其中的NSURLRequest web服務特定的URL的requestWithUrl參數):
-(void)getLocationsFromWebService {
NSLog(@"in getLocationsFromWebService");
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:TRUE];
NSURLRequest *theRequest = [NSURLRequest requestWithURL:self.locationsURL cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:100.0];
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];
self.requestType = @"GET";
if (theConnection) {
_responseData = [[NSMutableData data] retain ];
} else {
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:FALSE];
}
}
-(void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:FALSE];
NSLog(@"in mapviewcontroller");
NSLog(@"Error connecting - %@",[error localizedDescription]);
[connection release];
[_responseData release];
}
-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
NSHTTPURLResponse *HTTPResponse = (NSHTTPURLResponse *)response;
NSInteger statusCode = [HTTPResponse statusCode];
if (404 == statusCode || 500 == statusCode) {
//[self.controller setTitle:@"Error Getting Parking Spot ....."];
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:FALSE];
[connection cancel];
NSLog(@"Server Error - %@", [NSHTTPURLResponse localizedStringForStatusCode:statusCode]);
} else {
if ([self.requestType isEqualToString:@"GET"])
[_responseData setLength:0];
}
}
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
if ([self.requestType isEqualToString:@"GET"])
[_responseData appendData:data];
}
-(void) connectionDidFinishLoading:(NSURLConnection *)connection {
if ([self.requestType isEqualToString:@"GET"]) {
[self parseLocations:_responseData];
[_responseData release];
}
[connection release];
}
感謝您的即時回覆。正如我之前提到的,我想在地圖上顯示我的GPS座標。要做到這一點,我應該創建一個我自己的Web服務,或者已經有一個Web服務可以把我的GPS座標和顯示在地圖上。我手上有我的GPS座標如果你能給我一些想法以後如何從這裏開始,那真的很有幫助。 – indr
你不需要創建Web服務只是爲了在Map上顯示你的當前位置。你只需要實現corelocation和Mapkit框架來實現你的功能。正如你所說,你得到了你的GPS座標,所以你只需要實現mapkit並將你當前的位置設置爲用戶位置。地圖工具包會自動執行,因此您無需爲此做任何事情。只需搜索mapkit示例,即可開始使用。
喲需要:
使用NRURLRequest以緯度/經度(例如使用POST方法)傳遞給一個PHP頁面。
爲了創建PHP素文字讀取該參數,然後建立位置是這樣的: 位置=> NAME,LAT =>經緯度LON =>經度 並使用jsonphp方法構建JSON格式。
在iphone中,現在您只需使用NSURLRequest接收此信息並解析json。將解析結果發送給mapkit。
要在哪個Web服務上發送GPS座標? – Deeps
說實話我不知道。我想在地圖上顯示我的GPS座標。所以我應該創建一個自己的Web服務來顯示地圖上的GPS座標,或者已經有一個Web服務可以做到這一點。我有GPS座標,但我完全是下一步做什麼的空白! – indr