@Nullable
 @Override
 public View onCreateView(
     LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
   /** initialize navigation map view */
   if (mapLayout == null) {
     mapLayout = inflater.inflate(R.layout.navi_map_fragment, container, false);
     mAMapNaviView = (AMapNaviView) mapLayout.findViewById(R.id.id_navi_fragment_navi_map_view);
     mAMapNaviView.onCreate(savedInstanceState);
     mAMapNaviView.setAMapNaviViewListener(this);
     naviMapUtil.setAMap(mAMapNaviView.getMap());
   } else if (mapLayout.getParent() != null) {
     ((ViewGroup) mapLayout.getParent()).removeView(mapLayout);
   }
   return mapLayout;
 }
 public void setEndPoint(NaviLatLng endPoint) {
   naviMapUtil.setEndPoint(endPoint);
 }
 public void setLocation(NaviLatLng location) {
   naviMapUtil.setLocation(location);
 }
 /** transfer arguments to naviMapUtil */
 public void setAMapNavi(AMapNavi aMapNavi) {
   mAMapNavi = aMapNavi;
   naviMapUtil.setAMapNavi(aMapNavi);
 }
 public void startNavi() {
   naviMapUtil.startNavi();
 }
 public void setActivity(Activity activity) {
   /** transfer activity to naviMapUtil */
   naviMapUtil.setMainActivity(activity);
 }