【问题标题】:android url to access KML route用于访问 KML 路由的 android url
【发布时间】:2011-12-23 05:22:25
【问题描述】:

我正在尝试使用下面的 url 在谷歌地图上的两点之间绘制路径,

http://maps.google.com/maps?f=d&hl=en&saddr=13.005621,77.577531&daddr=13.005621,77.579531&ie=UTF8&0&om=0&output=kml

之前正常工作,但现在显示异常,

 I/System.out(461): Unexpected end of document

doc 返回 null 为什么? 我的代码如下,

http://pastebin.com/XvR0rYdQ

谢谢

【问题讨论】:

    标签: android google-maps kml


    【解决方案1】:

    这些链接可帮助您编写地图代码:

    MAPS Tutor
    Maps Location
    Maps Api

    如果您只想要 url,请使用:
    http://code.google.com/apis/kml/

    这些是地图位置的完整源代码。


    安卓

    Android G1 screenshot http://img249.imageshack.us/img249/3336/androidmaproute.jpg

    public class MapRouteActivity extends MapActivity {    
     LinearLayout linearLayout;
     MapView mapView;
     private Road mRoad;    
     @Override
     public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);
      mapView = (MapView) findViewById(R.id.mapview);
      mapView.setBuiltInZoomControls(true);    
      new Thread() {
       @Override
       public void run() {
        double fromLat = 49.85, fromLon = 24.016667; 
        double toLat = 50.45, toLon = 30.523333;
        String url = RoadProvider
          .getUrl(fromLat, fromLon, toLat, toLon);
        InputStream is = getConnection(url);
        mRoad = RoadProvider.getRoute(is);
        mHandler.sendEmptyMessage(0);
       }
      }.start();
     }
    
     Handler mHandler = new Handler() {
      public void handleMessage(android.os.Message msg) {
       TextView textView = (TextView) findViewById(R.id.description);
       textView.setText(mRoad.mName + " " + mRoad.mDescription);
       MapOverlay mapOverlay = new MapOverlay(mRoad, mapView);
       List<Overlay> listOfOverlays = mapView.getOverlays();
       listOfOverlays.clear();
       listOfOverlays.add(mapOverlay);
       mapView.invalidate();
      };
     };
    
     private InputStream getConnection(String url) {
      InputStream is = null;
      try {
       URLConnection conn = new URL(url).openConnection();
       is = conn.getInputStream();
      } catch (MalformedURLException e) {
       e.printStackTrace();
      } catch (IOException e) {
       e.printStackTrace();
      }
      return is;
     }    
     @Override
     protected boolean isRouteDisplayed() {
      return false;
     }
    }
    

    在 Google 代码上的 J2MEMapRouteAndroidEx 上查看完整代码

    【讨论】:

    • 我在我的答案中添加了完整的 n 加入我的 Facebook 进行任何讨论:)
    • 我自己也属于班加罗尔 :)
    • String url = RoadProvider .getUrl(fromLat, fromLon, toLat, toLon);这里是 RoadProvider?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-23
    • 2014-11-25
    • 2017-07-23
    • 2013-04-28
    • 2021-01-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多