我正在开发适用于 Android 和 iOS 平台的应用程序。我的客户要求应用程序必须具有“添加路线”功能。假设我在我的应用程序上设置了 TO 和 FROM 点,我想显示这两个点之间的最佳路线。如果只有这两点就好了。有很多关于如何进行的资源。但是,如果我想添加一些额外的指示,例如 GO THROUGH,互联网对我来说没有答案。如果您可以向我指出任何适用于移动平台的应用程序(必须使用谷歌地图),那么这个功能在哪里工作,那就太好了。也许你有一些关于这个主题的文档或其他材料。
谢谢,迈克(波兰)
我正在开发适用于 Android 和 iOS 平台的应用程序。我的客户要求应用程序必须具有“添加路线”功能。假设我在我的应用程序上设置了 TO 和 FROM 点,我想显示这两个点之间的最佳路线。如果只有这两点就好了。有很多关于如何进行的资源。但是,如果我想添加一些额外的指示,例如 GO THROUGH,互联网对我来说没有答案。如果您可以向我指出任何适用于移动平台的应用程序(必须使用谷歌地图),那么这个功能在哪里工作,那就太好了。也许你有一些关于这个主题的文档或其他材料。
谢谢,迈克(波兰)
尝试将 uri 格式化为: from:50.74,14.00889+to:51.66444,17.85679+to:52.66444,17.85679 您可以根据需要添加尽可能多的 +to 术语
编辑:如果你使用 Map api,你应该有这样的代码来计算路线:
StringBuilder urlString = new StringBuilder();
urlString.append("http://maps.google.com/maps?f=d&hl=de");
urlString.append("&saddr=");//from
urlString.append( Double.toString((double)src.getLatitudeE6()/1.0E6 ));
urlString.append(",");
urlString.append( Double.toString((double)src.getLongitudeE6()/1.0E6 ));
urlString.append("&daddr=");//to
urlString.append( Double.toString((double)dest.getLatitudeE6()/1.0E6 ));
urlString.append(",");
urlString.append( Double.toString((double)dest.getLongitudeE6()/1.0E6 ));
urlString.append("&ie=UTF8&0&om=0&output=kml");
您应该能够以所述格式添加一些航点。
urlString.append("+to:")
urlString.append( Double.toString((double)waypoint.getLatitudeE6()/1.0E6 ));
urlString.append(",");
urlString.append( Double.toString((double)waypoint.getLongitudeE6()/1.0E6 ));
google maps api v3 有一个方向 rederer。您可以在两点之间渲染一条线,并使该线可拖动,即您可以沿路线挑选一品脱并将其重新定位为航路点。请参阅 api 文档。
或者,您可以捕获地图上的点击事件,并将位置推送到中途停留数组中以传递路由请求。