コード例 #1
0
        public void StartNavi(View view)
        {
            int lat = (int)(mLat1 * 1E6);
            int lon = (int)(mLon1 * 1E6);
            GeoPoint pt1 = new GeoPoint(lat, lon);
            lat = (int)(mLat2 * 1E6);
            lon = (int)(mLon2 * 1E6);
            GeoPoint pt2 = new GeoPoint(lat, lon);
            // 构建 导航参数
            NaviPara para = new NaviPara();
            para.StartPoint = pt1;
            para.StartName = "从这里开始";
            para.EndPoint = pt2;
            para.EndName = "到这里结束";

            try
            {
                BaiduMapNavigation.OpenBaiduMapNavi(para, this);
            }
            catch (BaiduMapAppNotSupportNaviException e)
            {
                e.PrintStackTrace();

                // 居然不走原版的这个, 可能是IKVM的bug, 也可能是我能力不够, 哎, 求大神指路
                // 用下面的 RuntimeException 是不对的, 虽然照顾到了
                // Com.Baidu.Mapapi.Navi.BaiduMapAppNotSupportNaviException
                // 但是 OpenBaiduMapNavi 方法还可能会抛一个
                // Com.Baidu.Mapapi.Navi.IllegalNaviArgumentException
                // 这样就没法区分了
            }
            catch (RuntimeException e)
            {
                e.PrintStackTrace();
                AlertDialog.Builder builder = new AlertDialog.Builder(this);
                builder.SetMessage("您尚未安装百度地图app或app版本过低,点击确认安装?");
                builder.SetTitle("提示");
                builder.SetPositiveButton("确认", new IOnClickPositiveButtonListenerImpl(this));

                builder.SetNegativeButton("取消", new IOnClickNegativeButtonListenerImpl(this));

                builder.Create().Show();
            }
        }
コード例 #2
0
ファイル: NaviDemo.cs プロジェクト: Yi-shion/Xamarin
        public void StartNavi(View view)
        {
            LatLng pt1 = new LatLng(mLat1, mLon1);
            LatLng pt2 = new LatLng(mLat2, mLon2);
            // ���� ��������
            NaviPara para = new NaviPara();
            para.StartPoint = pt1;
            para.StartName = "�����↑ʼ";
            para.EndPoint = pt2;
            para.EndName = "���������";

            try
            {

                BaiduMapNavigation.OpenBaiduMapNavi(para, this);

            }
            catch (BaiduMapAppNotSupportNaviException e)
            {
                e.PrintStackTrace();

                // ��Ȼ����ԭ������, ������IKVM��bug, Ҳ����������������, ��, �����ָ·
                // ������� RuntimeException + if/else �ǶԵ���, �ӵ�
            }
            catch (RuntimeException e)
            {
                // (imknown ע)����ԭ�������������� : e.Message

                // Android.Runtime.Extensions.JavaCast<BaiduMapAppNotSupportNaviException>(e);
                // Android.Runtime.Extensions.JavaCast<IllegalNaviArgumentException>(e);

                string currentExceptionSimpleName = e.Class.SimpleName;
                string classBaiduMapAppNotSupportNaviExceptionSimpleName = typeof(BaiduMapAppNotSupportNaviException).Name;
                // string classIllegalNaviArgumentExceptionSimpleName = typeof(IllegalNaviArgumentException).Name;

                if (classBaiduMapAppNotSupportNaviExceptionSimpleName == currentExceptionSimpleName)
                {
                    e.PrintStackTrace();
                    AlertDialog.Builder builder = new AlertDialog.Builder(this);
                    builder.SetMessage("����δ��װ�ٶȵ�ͼapp��app�汾���ͣ����ȷ�ϰ�װ��");
                    builder.SetTitle("��ʾ");
                    // builder.SetPositiveButton("ȷ��", delegate {});
                    // builder.SetPositiveButton("ȷ��", delegate(object sender, DialogClickEventArgs args) {int which = args.Which;});
                    // builder.SetPositiveButton("ȷ��", (sender, args) => {int which = args.Which;});
                    // builder.SetPositiveButton("ȷ��", (object sender, DialogClickEventArgs args) => {int which = args.Which;});
                    builder.SetPositiveButton("ȷ��", (sender, args) =>
                    {
                        IDialogInterface dialog = (IDialogInterface)sender;
                        // IDialogInterface dialog = Android.Runtime.Extensions.JavaCast<IDialogInterface>(sender);
                        dialog.Dismiss();
                        BaiduMapNavigation.GetLatestBaiduMapApp(this);
                    });

                    builder.SetNegativeButton("ȡ��", (sender, args) =>
                    {
                        IDialogInterface dialog = (IDialogInterface)sender;
                        dialog.Dismiss();
                    });

                    builder.Create().Show();
                }
            }
        }
コード例 #3
0
 public void StartWebNavi(View view)
 {
     int lat = (int)(mLat1 * 1E6);
     int lon = (int)(mLon1 * 1E6);
     GeoPoint pt1 = new GeoPoint(lat, lon);
     lat = (int)(mLat2 * 1E6);
     lon = (int)(mLon2 * 1E6);
     GeoPoint pt2 = new GeoPoint(lat, lon);
     // 构建 导航参数
     NaviPara para = new NaviPara();
     para.StartPoint = pt1;
     para.EndPoint = pt2;
     BaiduMapNavigation.OpenWebBaiduMapNavi(para, this);
 }
コード例 #4
0
ファイル: NaviDemo.cs プロジェクト: Yi-shion/Xamarin
 public void StartWebNavi(View view)
 {
     LatLng pt1 = new LatLng(mLat1, mLon1);
     LatLng pt2 = new LatLng(mLat2, mLon2);
     // ���� ��������
     NaviPara para = new NaviPara();
     para.StartPoint = pt1;
     para.EndPoint = pt2;
     BaiduMapNavigation.OpenWebBaiduMapNavi(para, this);
 }