Tecnologia do Blogger.
RSS

[androidbrasil-dev] Como fazer uma rota no Android

Aew gente, to precisando fazer uma rota em um APP mas não ta saindo da maneira correta...

Com essa implementação aqui está indo de boa mais a rota fica mal traçada.
Quando o trajeto não tem muitas ruas fica de boa.

Com essa implementação aqui está dando erro no Paser

Eu identifiquei que o erro está no método getRoute()
O Log seria esse 
12-17 21:14:54.400: I/teste(2617): catch do SAX
12-17 21:14:54.400: W/System.err(2617): org.apache.harmony.xml.ExpatParser$ParseException: At line 1, column 1084: not well-formed (invalid token)
12-17 21:14:54.400: W/System.err(2617): at org.apache.harmony.xml.ExpatParser.parseFragment(ExpatParser.java:519)
12-17 21:14:54.400: W/System.err(2617): at org.apache.harmony.xml.ExpatParser.parseDocument(ExpatParser.java:478)
12-17 21:14:54.400: W/System.err(2617): at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:317)
12-17 21:14:54.400: W/System.err(2617): at org.apache.harmony.xml.ExpatReader.parse(ExpatReader.java:275)
12-17 21:14:54.400: W/System.err(2617): at javax.xml.parsers.SAXParser.parse(SAXParser.java:390)
12-17 21:14:54.400: W/System.err(2617): at javax.xml.parsers.SAXParser.parse(SAXParser.java:187)
12-17 21:14:54.400: W/System.err(2617): at com.example.testerotas2.RoadProvider.getRoute(RoadProvider.java:24)
12-17 21:14:54.400: W/System.err(2617): at com.example.testerotas2.MainActivity$2.run(MainActivity.java:50)
12-17 21:14:54.420: D/AndroidRuntime(2617): Shutting down VM
12-17 21:14:54.420: W/dalvikvm(2617): threadid=1: thread exiting with uncaught exception (group=0x4012b760)
12-17 21:14:54.430: E/AndroidRuntime(2617): FATAL EXCEPTION: main
12-17 21:14:54.430: E/AndroidRuntime(2617): java.lang.NullPointerException
12-17 21:14:54.430: E/AndroidRuntime(2617): at com.example.testerotas2.MapOverlay.drawPath(MainActivity.java:149)
12-17 21:14:54.430: E/AndroidRuntime(2617): at com.example.testerotas2.MapOverlay.draw(MainActivity.java:116)
12-17 21:14:54.430: E/AndroidRuntime(2617): at com.google.android.maps.OverlayBundle.draw(OverlayBundle.java:42)
12-17 21:14:54.430: E/AndroidRuntime(2617): at com.google.android.maps.MapView.onDraw(MapView.java:530)
12-17 21:14:54.430: E/AndroidRuntime(2617): at android.view.View.draw(View.java:9279)
12-17 21:14:54.430: E/AndroidRuntime(2617): at android.view.ViewGroup.drawChild(ViewGroup.java:2584)
12-17 21:14:54.430: E/AndroidRuntime(2617): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2189)
12-17 21:14:54.430: E/AndroidRuntime(2617): at android.view.ViewGroup.drawChild(ViewGroup.java:2582)
12-17 21:14:54.430: E/AndroidRuntime(2617): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2189)
12-17 21:14:54.430: E/AndroidRuntime(2617): at android.view.ViewGroup.drawChild(ViewGroup.java:2582)
12-17 21:14:54.430: E/AndroidRuntime(2617): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2189)
12-17 21:14:54.430: E/AndroidRuntime(2617): at android.view.ViewGroup.drawChild(ViewGroup.java:2582)
12-17 21:14:54.430: E/AndroidRuntime(2617): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2189)
12-17 21:14:54.430: E/AndroidRuntime(2617): at android.view.View.draw(View.java:9282)
12-17 21:14:54.430: E/AndroidRuntime(2617): at android.widget.FrameLayout.draw(FrameLayout.java:419)
12-17 21:14:54.430: E/AndroidRuntime(2617): at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1923)
12-17 21:14:54.430: E/AndroidRuntime(2617): at android.view.ViewRoot.draw(ViewRoot.java:1695)
12-17 21:14:54.430: E/AndroidRuntime(2617): at android.view.ViewRoot.performTraversals(ViewRoot.java:1410)
12-17 21:14:54.430: E/AndroidRuntime(2617): at android.view.ViewRoot.handleMessage(ViewRoot.java:2040)
12-17 21:14:54.430: E/AndroidRuntime(2617): at android.os.Handler.dispatchMessage(Handler.java:99)
12-17 21:14:54.430: E/AndroidRuntime(2617): at android.os.Looper.loop(Looper.java:132)
12-17 21:14:54.430: E/AndroidRuntime(2617): at android.app.ActivityThread.main(ActivityThread.java:4157)
12-17 21:14:54.430: E/AndroidRuntime(2617): at java.lang.reflect.Method.invokeNative(Native Method)
12-17 21:14:54.430: E/AndroidRuntime(2617): at java.lang.reflect.Method.invoke(Method.java:491)
12-17 21:14:54.430: E/AndroidRuntime(2617): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
12-17 21:14:54.430: E/AndroidRuntime(2617): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
12-17 21:14:54.430: E/AndroidRuntime(2617): at dalvik.system.NativeStart.main(Native Method)
12-17 21:14:55.380: D/dalvikvm(2617): GC_CONCURRENT freed 200K, 8% free 7885K/8519K, paused 2ms+2ms


O método e esse
public static Road getRoute(InputStream is) {
                KMLHandler handler = new KMLHandler();
                try {
                        SAXParser parser = SAXParserFactory.newInstance().newSAXParser();
                        parser.parse(is, handler);
                } catch (ParserConfigurationException e) {
                Log.i("teste", "catch do Parser");
                        e.printStackTrace();
                } catch (SAXException e) {
                Log.i("teste", "catch do SAX");
                e.printStackTrace();
                } catch (IOException e) {
                Log.i("teste", "catch do IO");
                        e.printStackTrace();
                }
                return handler.mRoad;
        }


A String passada é essa
E no navegador está funcionando perfeitamente
Eu to executando em um Tablet

Alguém já passou por isso ?




Diogo Henrique
(83)87344178
Rede Sociais: 





--
 
 

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário