我发现Google Maps API支持路线:
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上画一条线我只需要路线的地理定位。
或许在两个地理位置点之间获得路线的方式可能不同。
请告诉我,
提前致谢。
答案 0 :(得分:9)
提到了一个未公开的Google Maps Directions API,并公开了here
另外,你应该看一下使用上面提到的API {/ 3}}
的示例IPhone应用程序,它将路线/方向绘制到MKMapView上但警告您有关未记录的Google Maps Directions API的许可问题。
希望这有帮助。
答案 1 :(得分:8)
我最初会说(并且我相信其他人会提出这个问题)Google地图使用条款表示如果您打算使用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,您可以在其中向Google发送HTTP GET请求并获取JSON数据。这是我发现从Google获取与Javascript无关的程序化数据的唯一方法。
一旦找到了要调用的正确网址,就可以将整个内容包含在ASIHTTPRequest调用中,并将结果提供给JSON parser。要记住的一件事是RESTful API一次只返回一些结果(4到8之间),你必须继续回去,直到你获得所有数据。对API返回的结果数量似乎也有64项上限,因此可能会影响一些复杂的边缘情况。