Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] Como fazer uma rota no Android



2012/12/17 Diogo Henrique <diogjp10@gmail.com>
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
Rede Sociais: 





--
 
 



--







Atenciosamente,
Douglas Alípio Mesquita


--
 
 

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

0 comentários:

Postar um comentário