2014-02-20 24 views
2

我使用位置管理器在我的應用程序來獲得緯度和經度:IOS發送經緯度的WebView

double latitude = locationManager.location.coordinate.latitude; 
double longitude = locationManager.location.coordinate.longitude; 

在這同一視圖控制器,我打開一個網頁視圖:

NSString *URL = [[NSString alloc]initWithFormat:@"http://myurl.com"]; 
NSURL *urlDisplay = [NSURL URLWithString:URL]; 
NSURLRequest *urlRequest = [NSURLRequest requestWithURL:urlDisplay]; 
[_mainWebView loadRequest:urlDisplay]; 

我的問題是:如何將我的經緯度傳遞給WebView以在頁面加載時使用。我需要根據用戶位置更改WebView中顯示的信息。

+0

這完全取決於HTML如何獲取座標。它是否需要附加到URL的參數?或者是用cookie發送的座標?要麼? –

+0

我想這就是我要問的。我需要使用我的web php文件中的座標。什麼是最好的方式讓他們在那裏? – AdamTheRaysFan

+0

網頁會不斷更新,還是剛剛在網頁首次加載時傳入座標? –

回答

1

也許我誤解了你的問題......你只是問如何將緯度和經度傳遞給一個網址在webview中使用。這很簡單(並不特別與iOS相關)。

與谷歌地圖,您可以通過經緯度通過使用這樣的URL搜索字符串搜索:

https://maps.google.com/maps?q=43.661383,-79.390862 

如果你想使用Bing地圖同樣的事情將是:

http://bing.com/maps/default.aspx?cp=43.661383~-79.390862 

(位置在多倫多的女王公園。)關於geoSeing with Bing的更多信息位於: http://msdn.microsoft.com/en-us/library/dn217138.aspx

如果你w anted使用另一種服務,只是想象他們的搜索字符串如何工作。所以,如果你想打開一個谷歌地圖網頁,你可以使用這樣的事情:

NSArray *geoLocation = [NSArray arrayWithObjects:latitude, longitude, nil]; 
NSString *searchString = [geoLocation componentsJoinedByString:@","]; 
NSString *google = @"https://maps.google.com/maps?q="; 
NSString *URL = [google stringByAppendingString:searchString]; 
NSURL *urlDisplay = [NSURL URLWithString:URL]; 

順便說一句 - 如果你只想要顯示的地圖的地理位置,你可以使用MapKit ....但我相信你已經知道這一點,並希望做一些不同的事情。

+0

這不是我要找的。我從iOS中的位置管理器捕獲經緯度,並且需要在加載之前將其發送到WebView。 – AdamTheRaysFan

+0

對於「在加載之前將其發送給WebView」的含義,我不太清楚(也似乎是其他人)。我上面寫的代碼可以用來在加載之前將經緯度傳遞給WebView,如果您想要做的是在URL中傳遞PHP變量。我不確定你想如何/爲什麼要將變量傳遞給UIWebView? – craighagerman