2011-04-25 67 views
0

我有一個鏈接一個UIWebView如下:UIWebView的HREF打開地圖應用程序失敗

<a href="maps:saddr=Current Location&amp;daddr=Some place on [email protected],-120.397757">Get Directions</a> 

在Safari中移動這個環節工作得很好,並打開與當前位置的地圖應用/緯度方向,但裏面它會導致這個錯誤一個UIWebView我的iPhone應用程序:

didFailLoadWithError:Error Domain=WebKitErrorDomain Code=101 "The URL can't be shown" 

我已經添加下面的代碼我shouldStartLoadWithRequest其中檢查非標方案,並嘗試使用內部應用程序來啓動它:

if (![url.scheme isEqual:@"http"] && ![url.scheme isEqual:@"https"]) { 
    if ([[UIApplication sharedApplication]canOpenURL:url]){ 
      [[UIApplication sharedApplication]openURL:url]; 
      return NO; 
    } 
} 
return YES; 

我能做什麼錯?這用於以前的iOS版本。

回答

2

正確的URL不再以「maps」開頭。而是使用「http」。您還需要指定Google服務器。

下面是相關文檔的鏈接:Map Links

在你的情況下,它會是這個樣子:

http://maps.google.com/maps?saddr=Current Location?daddr=Some place on [email protected],-120.397757 

請注意,這個代碼不進行測試,因爲我不要靠近我的發展機器現在。

+0

問題是這是在Safari Mobile中啓動Google,而不是Safari Mobile中的Google地圖應用。我想啓動地圖應用程序。 – 2011-04-25 01:23:43

+0

您是否在UIWebView中更改鏈接?你是在模擬器上還是在設備上看到這個錯誤? – sosborn 2011-04-25 01:41:38

+0

如果我更改爲上面的鏈接,它會啓動Safari並通過Google網站而不是地圖應用程序進行映射。如果我在Safari Mobile中打開這個相同的網頁,它會打開地圖應用程序。真是令人困惑,因爲這曾經以我想要的方式工作。 – 2011-04-25 01:45:05

相關問題