在Android 1.0上有一个com.google.googlenav命名空间用于行车路线:
路线 - 改进了Google行车路线
但是在较新的SDK中,它被某些原因删除了......
Android:自API 1.0以来删除了DrivingDirections - 如何在1.5 /中执行1.6?
在黑莓手机上也缺少这样的API:
如何找到Blackberry中两个地方之间的路线?
CSIE-TW给出了一个解决方法(对于KML文件查询gmaps并解析它):
Android的-驾驶方向(路由路径)
也安德烈取得了DrivingDirections辅助类为Android.
我在j2me中为这个功能写了一个小助手,所以我想在Android和BlackBerry上分享我的样本.
更新
正如评论中所述,Google Maps API服务条款并未正式允许:
Google地图/ Google地球API服务条款
上次更新时间:2009年5月27日
...
10.许可限制.除非条款明确允许,或者除非您事先获得Google(或适用的特定内容提供商)的书面授权,否则Google的上述许可均受您遵守以下所有限制的约束.除非第7节或Maps API文档中明确允许,否则您不得(也不允许任何其他人):
...
10.9将服务或内容与任何产品,系统或应用程序一起使用或与之相关:
(a)实时导航或路线引导,包括但不限于与用户的传感器使能设备的位置同步的逐向路线引导;
并且可能对某些应用程序禁用(不知何故,至少在Android上)...来自.NET会话中的Geocode抓取:
API使用条款不允许这样做.您不应该刮掉谷歌地图来生成地理编码.我们将阻止对我们的服务器进行自动查询的服务.
Bret Taylor
Google地图产品经理
将不胜感激任何替代和/或建议!
谢谢!
我想在两个位置之间找到行车方向:
LatLng(12.917745600000000000,77.623788300000000000)
LatLng(12.842056800000000000,7.663096499999940000)
Run Code Online (Sandbox Code Playgroud)
我试过的代码:
Polyline line = mMap.addPolyline(new PolylineOptions().
add(new LatLng(12.917745600000000000,77.623788300000000000),
new LatLng(12.842056800000000000,7.663096499999940000))
.width(5).color(Color.RED));
Run Code Online (Sandbox Code Playgroud)
但这在两点之间划了一条直线.
有没有其他方法/方法来获得这两点之间的行车路线.
java android google-maps directions google-maps-android-api-2
所有
我在我的iPhone应用程序中使用谷歌地图KML输出.如果我在浏览器上键入以下内容,它会提供一个保存kml文件的选项:
http://maps.google.com/maps?q=restaurant&mrt=yp&num=10&sll=37.786945,-122.406013&radius=5&output=kml
Run Code Online (Sandbox Code Playgroud)
但是今天突然间,它正在返回一个html文件.发生了什么?有任何想法吗?我在我的iPhone应用程序中使用它并抛出错误,因为它不是有效的xml返回.明显....
谢谢,恩
我希望能够使用适用于Android 的Google Maps API在两个用户定义的地理点之间显示路线.我还希望能够让用户选择要显示的路线类型,无论是步行,骑车,汽车等.此外,我希望能够计算使用此路线所需的时间和距离.我试过在网上搜索并查看其他stackoverflow问题,但无济于事.我该怎么做?我怎么能编码这个.
// - - 编辑 - - //
我还想得到交通信息,如繁忙的路线,拥堵等.
java android google-maps google-maps-api-3 google-maps-api-2
我正在使用谷歌地图路线为我自己的Android应用程序.2天前它运行良好,但在那之后应用程序运行时它通过logcat给我错误.任何机构都可以告诉我这个问题的原因和解决方案.
org.xml.sax.SAXParseException: unterminated entity ref (position:ENTITY_REF &@1:799 in java.io.InputStreamReader@406cdeb0)
Run Code Online (Sandbox Code Playgroud)
private String[] getDirectionData(String sourceLat, String sourceLong, String destinationLat, String destinationLong) {
String urlString = "http://maps.google.com/maps?f=d&hl=en&" +"saddr="+sourceLat+","+sourceLong+"&daddr="+destinationLat+","+destinationLong + "&ie=UTF8&0&om=0&output=kml";
Log.d("URL", urlString);
Document doc = null;
HttpURLConnection urlConnection = null;
URL url = null;
String pathConent = "";
try {
url = new URL(urlString.toString());
urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.setDoOutput(true);
urlConnection.setDoInput(true);
urlConnection.connect();
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
doc = db.parse(urlConnection.getInputStream());
} catch (Exception e) {
Log.w("Error in google map",e);
} …Run Code Online (Sandbox Code Playgroud) 我正在使用此方法在我的应用程序中在地图上的两个点之间绘制路线
private void DrawPath(GeoPoint src, GeoPoint dest, int color,
MapView mMapView01) {
// connect to map web service
StringBuilder urlString = new StringBuilder();
urlString.append("http://maps.google.com/maps?f=d&hl=en");
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");
Log.d("xxx","URL="+urlString.toString());
try
{
URL url = new URL(urlString.toString());
urlString = null;
HttpURLConnection urlConnection=(HttpURLConnection)url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.setDoOutput(true);
urlConnection.setDoInput(true);
urlConnection.connect();
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(urlConnection.getInputStream());
if(doc.getElementsByTagName("GeometryCollection").getLength()>0)
{
String path = doc.getElementsByTagName("GeometryCollection").item(0).getFirstChild().getFirstChild().getFirstChild().getNodeValue() ;
Log.d("xxx","path="+ path);
String …Run Code Online (Sandbox Code Playgroud) 我在这里搜索了很多链接.但我不明白完整的代码.建议我一个简单易懂的代码,用于在两个位置之间行驶方向,并从两个位置获取距离.
android ×6
google-maps ×4
java ×3
android-maps ×1
blackberry ×1
directions ×1
geolocation ×1
gps ×1
iphone ×1
java-me ×1
kml ×1