2009-09-29 18 views
12

我發現,谷歌地圖API支持通過路線:的MKMapView路線/方向

var map; 
var directionsPanel; 
var directions; 

function initialize() { 
    map = new GMap2(document.getElementById("map_canvas")); 
    directionsPanel = document.getElementById("my_textual_div"); 
    map.setCenter(new GLatLng(49.496675,-102.65625), 3); 
    directions = new GDirections(map, directionsPanel); 
    directions.load("from: 500 Memorial Drive, Cambridge, MA to: 4 Yawkey Way, Boston, MA 02215 (Fenway Park)"); 
} 

那麼這可怎麼翻譯成Objective-C的,因此它可以通過iPhone進行檢索?我知道如何在MKMapView上繪製一條線,我只需要路線的地理定位。

或許有一種不同的方式來得到兩個地理位置點之間的路線。

請讓我知道,

在此先感謝。

回答

9

有一個無證谷歌地圖路線API提到和暴露here

你也應該看看使用上述here

但警告中提到的API,它繪製的路線/方向上的MKMapView樣品IPhone應用您瞭解關於無證Google Maps Directions API的許可問題。

希望這會有所幫助。

+3

** - 注意 - **請找到GitHub的樣本項目[https://github.com/kadirpekel/MapWithRoutes](https://github.com/kadirpekel/MapWithRoutes) – coffeemate 2011-06-30 07:57:11

+0

在兩個「這裏」鏈接當我在寫這篇評論之前一分鐘之前點擊時,它不工作。使用谷歌地圖API的工作只有在使用谷歌地圖,這似乎不再是一個值得信賴的方法的iOS 5不會允許這種請檢查他們在工作或沒有和更新他們..因爲我確實他們的... – Nayan 2012-10-12 11:30:55

+0

,需要一個更好方法。請發帖如果有人發現任何。 – 2012-11-26 09:56:28

8

我本來想說(我敢肯定,別人會彈出),谷歌地圖的使用條款中使用的說,如果你打算使用MapKit不能使用方向。但後來我仔細檢查了http://code.google.com/apis/maps/terms/iPhone.html,但無法真正找到明確的限制。如果我理解正確,實際上只要它與GPS驅動的實時轉向功能相關聯,就不能使用方向。你應該根據自己的判斷來判斷它是否可行,以及它是否會影響你在AppStore上接受的機會。

就Objective-C中的實際數據而言,最好的辦法就是查看Google Ajax搜索文檔[http://code.google.com/apis/ajaxsearch/documentation/],尤其是Flash中的其他非Javascript環境下的部分它解釋了一個RESTful API,您可以將HTTP GET請求發送給Google並獲取JSON數據。這是我發現從Google獲取與Javascript無關的程序化數據的唯一途徑。

一旦你想通了正確的URL來調用你可以用整個事情在ASIHTTPRequest呼叫,結果喂到JSON parser。有一點要記住的是,基於REST的API在同一時間返回只有幾個結果(8月4之間),你必須繼續回去,直到你的所有數據。對API返回的結果數量似乎也有64個項目的上限,所以一些複雜的邊緣案例可能會受到影響。

+0

我認爲這是奇怪的,他們支持除方向幾乎所有的東西。哦,我想我會更好地使用轉發到實際的谷歌地圖應用程序。 – Mark 2009-09-30 07:55:20