2011-04-24 54 views
6

我目前正在開發允許用戶導航到POI的iPhone應用程序。這些POI是通過經緯度定義的,用戶應該可以通過點擊一下鼠標來啓動他的導航解決方案,以導航到這個POI。通過URL方案訪問TomTom導航解決方案

這正常工作與Navigon的,使用URL方案navigon://myapp|name||||||lat|lon

現在我知道,有對TomTom的iPhone應用程序命名爲tomtomplus://的URL方案,我只能開始TomTom公司,沒有其他動作possile。我試過tomtomhome://geo:action=navigateto&lat=mylat&long=mylon&name=myname - 但沒有奏效。只有tomtom應用程序正在啓動。

即使當我試圖通過http://addto.tomtom.com API時,tomtom也只會啓動,無法添加和POI或導航到的機會。

Codesniplet:

NSString* launchurl = [NSString stringWithFormat:@"tomtomhome://geo:action=navigateto&lat=%.8f&long=%.8f&name=%@", myEntry.getLon, myEntry.getLat, myEntry.name]; 

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[launchurl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]]; 

有什麼建議?

回答

12

我使用Tomtom從我的iPhone上的路線規劃選項向我發送電子郵件。在那封郵件中,我使用了tomtomhome:geo鏈接。 爲了測試我在Safari上點擊了我Mac上的鏈接,顯然沒有發生任何事情。然後我將鏈接保存爲書籤,該書籤立即使用MobileMe同步到我的iPhone。我點擊了我的iPhone Safari瀏覽器上的書籤,中提琴Tomtom打開,地圖中心位於鏈接位置。它會彈出與鏈接名稱的氣球,和右箭頭讓我選擇第一個選項「導航有」

鏈接生成的是:

  • tomtomhome:geo:action=show&lat=26.123456&long=28.123456&name=linkname

+0

沒錯。你是對的 - 像魅力一樣工作。我認爲我的第一個問題是測試座標超出了涵蓋的混合區域。 TomTom的行爲有點不明確。謝謝! – Aemsn 2011-05-04 12:11:21

+4

我發現了一些額外的東西: * action = navigateto讓應用程序在打開時計算路由 * name ='部分中的任何特殊字符應該轉義,否則'[NSURL URLWithString:]'將失敗。 – 2011-10-03 12:19:42

+6

TomTom在App Store中有許多應用程序(tomtom us,tomtom canada,brazil等)。 他們都共享相同的URL方案嗎?我買不起所有這些應用程序來測試和驗證。做所有的應用程序共享tomtomhome:架構?如果安裝了2個或更多,會發生什麼? – 2012-09-13 15:20:10