zoukankan      html  css  js  c++  java
  • 高德导航AMapNaviView线路规划失败?速来看看

      根据项目需求,需要地图页展示具体路线及自定义高德导航页面,

          接入过程中遇到线路规划失败的问题,接下来给大家讲解一下导航填坑之旅。

      使用场景如下:A页面为地图展示页(展示规划好的路线且当前车辆位置)

               B页面为实际自定义导航页

      原代码:

        进入 A 页面调用 AMapNavi.getInstance() 。
    
      此时候如果正确添加了AMapNaviListener 监听,会收到 initNaviSuccess 回调。
    
        进入B页面又调用 AMapNavi.getInstance()。
    
     由于 AMapNavi是单例对象,只在第一次创建对象的时候回调,此时并不会回调 initNaviSuccess。
    

       原因:因AMapNavi为单例对象,在A页面初始化后,在进入B页面时未销毁,同时在B页面又调用了初始化方法,此时不会回调initNaviSuccess。

      修正:

      方法1:在从A页面跳转到B页面之前,在A页面先调用 AMapNavi.destory(),此时 AMapNavi单例对象被销毁了。然后B页面再去初始化,此时在B页面能收到 initNaviSuccess 回调。

      方法2:将AMapNavi初始化提在BaseActivity中,因A页面和B页面同时一个订单及业务,对应规划的路线也是一致的,所以无需加以区分,直接在BaseActivity中初始化后,各个子页面都可直接调用。

     

      所以,当您的 initNaviSuccess 不回调时,请检查:

        1、是否在其他页面创建了 AMapNavi 对象。

        2、退出页面并未销毁 AMapNavi 对象。

     

      By:yzl

     

     

     

  • 相关阅读:
    华为实习日记——第二十三天
    华为实习日记——第二十二天
    华为实习日记——第二十一天
    华为实习日记——第二十天
    HDU 5102 The K-th Distance(模拟)
    HDU 4113 Construct the Great Wall(插头dp)
    UVALive 4849 String Phone(2-sat、01染色)
    HDU 4859 海岸线(最大流最小割)
    HDU 3879 Base Station(最大权闭合子图)
    POJ 3155 Hard Life(最大密度子图)
  • 原文地址:https://www.cnblogs.com/widgetbox/p/13213879.html
Copyright © 2011-2022 走看看