2010-10-19 114 views
5

我已經閱讀了大量關於想要在iPhone上在地圖上繪製路線的開發人員的帖子,但沒有令人滿意的答案如何最好地實現這一點。您可以使用Route-Me庫,在頂層MKMapView上添加一個圖層,或者將座標發送到手機地圖軟件,然後從您的應用程序導航,這在我看來是糟糕的用戶體驗。 這一切都沒有很好的解決問題。iPhone上的標準/最佳路線實施方式是什麼?

一些郵政寫道,有法律障礙,其他人寫道它是關於許可證錢。這必須是一個非常普遍的要求,因此也是一個實現的共同特徵。那麼,做到這一點的事實上的標準方法是什麼?

有經驗的人可以分享他們對這個問題的見解嗎?

BR //克里斯托弗

+0

到底什麼才能解決這個問題,對你有好處?你說參考的方法是一個糟糕的用戶體驗,但沒有定義好什麼是好的。 – Nick 2010-10-19 10:08:19

+0

在我開發的應用程序的第一個版本之後,有許多用戶抱怨不得不「離開」應用程序以獲取路線。對於良好的用戶體驗,我的想法是直接在地圖上添加行車路線,只要您可以使用導航欄返回到上一個視圖,地圖就可以在自己的視圖中。猜猜我說的是你必須能夠留在應用程序中。這關於用戶體驗。第二部分是:你如何做到這一點? – Christofffer 2010-10-19 11:42:34

回答

3

所以我決定使用蘋果開發者技術支持,真正明確了這一點。這是回覆:


你好,

謝謝您的查詢到的蘋果全球開發者技術支持。 我正在迴應,告訴您我已收到您的技術援助請求。

這樣做的事實上的標準方式是使用Map應用程序。我意識到這不是你想要的。你想留在你的應用程序。當涉及到用戶指導時,MKMapView API不會爲您提供這種級別的支持。您將不得不依靠單獨的Web服務來獲取這些方向,然後在MKMapView上繪製每個經緯度點。基本上,您需要向Google Directions API發送HTTP請求。這些條款要求您在Google地圖上顯示結果;因爲MKMapView顯示谷歌,這應該是確定的。

http://code.google.com/apis/maps/documentation/directions/#DirectionsRequests

如果您獲得從設行車路線成功人士稱雅虎或谷歌的服務,將的MKMapView讓你繪製使用MKOverlayPathView和MKShapes繪製多邊形的形狀像一個可視化課程。蘋果公司在 http://developer.apple.com/library/ios/#samplecode/KMLViewer/Introduction/Intro.html 上有一個名爲「KMLViewer」的示例它向您展示瞭如何繪製基於KML的點。由於我們正在處理緯度/經度座標,所以方法相同。

您可能需要考慮使用Map應用程序,這會相當容易。所有你需要的是這樣的:

// for lat/long directions 
NSString *urlString1 = @"http://maps.google.com/maps?daddr=37.324885,-122.032378&saddr=37.332094,-122.03124"; 

// for address directions 
NSString *urlString2 = @"http://maps.google.com/maps?f=d&source=s_d&saddr=1+Infinite+Loop,+Cupertino,+CA+95014&daddr=Mandarin+Gourmet,+Cupertino,+CA&hl=en&geocode=FcajOQIdYvO5-Ckbd16TtrWPgDFAc4Pi50E92A%3BFZ2GOQIdLe65-CHRv0sTH7YegykLqKn9rbWPgDGUnqKbIqi1Bg&mra=ls&sll=37.325567,-122.032989&sspn=0.007243,0.007285&ie=UTF8&ll=37.328195,-122.031466&spn=0.007243,0.007285&z=17"; 

[[UIApplication sharedApplication] openURL: [NSURL URLWithString: urlString1]]; 

第二E-MAIL:

只要是在關於使用谷歌服務條款我最後的電子郵件清楚。 Google要求您在谷歌地圖上顯示路線結果,這是MKMapView使用的。不過,我會仔細檢查蘋果自己的T & Cs,關於在MKMapView本身上使用外部服務(如用戶指導)。我不希望你沿着一條路走下去尋找法律限制。


相關問題