Esempio n. 1
0
        private void InitMapView()
        {
            var aMap = AMapView.Map;

            // 显示实时交通状况
            aMap.TrafficEnabled = true;
            //地图模式可选类型:MAP_TYPE_NORMAL,MAP_TYPE_SATELLITE,MAP_TYPE_NIGHT
            // 卫星地图模式
            aMap.MapType = AMap.MapTypeSatellite;

            var uiSettings = aMap.UiSettings;

            //设置默认定位按钮是否显示,非必需设置。
            uiSettings.MyLocationButtonEnabled = true;
            //控制比例尺控件是否显示
            uiSettings.ZoomControlsEnabled = false;
            //显示指南针
            uiSettings.CompassEnabled = true;

            MyLocationStyle myLocationStyle = new MyLocationStyle();

            //定位一次,且将视角移动到地图中心点
            myLocationStyle.InvokeMyLocationType(MyLocationStyle.LocationTypeLocate);
            //设置是否显示定位小蓝点
            myLocationStyle.ShowMyLocation(true);
            //设置连续定位模式下的定位间隔,只在连续定位模式下生效,单次定位模式下不会生效。单位为毫秒。
            myLocationStyle.InvokeInterval(2000);
            //设置定位蓝点的Style
            aMap.MyLocationStyle = myLocationStyle;

            aMap.SetOnMyLocationChangeListener(new AMapLocationChange(this));

            // 设置为true表示启动显示定位蓝点,false表示隐藏定位蓝点并不进行定位,默认是false
            aMap.MyLocationEnabled = true;
        }
Esempio n. 2
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource   = Resource.Layout.Toolbar;

            base.OnCreate(savedInstanceState);

            //3dmap相关
            mapView = new MapView(this);
            mapView.OnCreate(savedInstanceState);

            //定位相关
            mLocationClient = new AMapLocationClient(this);
            mLocationClient.SetLocationListener(new AMapLocationListener());
            mLocationClient.StartLocation();
            myLocationStyle = new MyLocationStyle();
            myLocationStyle.InvokeInterval(2000);
            mapView.Map.MyLocationStyle   = myLocationStyle;
            mapView.Map.MyLocationEnabled = true;
            myLocationStyle.InvokeMyLocationType(MyLocationStyle.LocationTypeFollow);
            myLocationStyle.ShowMyLocation(true);

            Xamarin.Essentials.Platform.Init(this, savedInstanceState);
            global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
            LoadApplication(new App());
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource   = Resource.Layout.Toolbar;

            base.OnCreate(savedInstanceState);

            //3dmap相关
            mapView = new MapView(this);
            mapView.OnCreate(savedInstanceState);

            //定位相关
            mLocationClient = new AMapLocationClient(this);
            mLocationClient.SetLocationListener(new AMapLocationListener());
            mLocationClient.StartLocation();
            myLocationStyle = new MyLocationStyle();
            myLocationStyle.InvokeInterval(2000);
            mapView.Map.MyLocationStyle   = myLocationStyle;
            mapView.Map.MyLocationEnabled = true;
            myLocationStyle.InvokeMyLocationType(MyLocationStyle.LocationTypeFollow);
            myLocationStyle.ShowMyLocation(true);

            //导航相关
            navi = AMapNavi.GetInstance(this);
            navi.AddAMapNaviListener(this);
            navi.SetEmulatorNaviSpeed(260);//260km/h
            naviRelativeLayout = LayoutInflater.Inflate(Resource.Layout.NaviLayout, null) as Android.Widget.RelativeLayout;
            mAMapNaviView      = naviRelativeLayout.FindViewById <AMapNaviView>(Resource.Id.navi_view);
            mAMapNaviView.SetAMapNaviViewListener(new AMapNaviViewListener());
            mAMapNaviView.OnCreate(savedInstanceState);

            Xamarin.Essentials.Platform.Init(this, savedInstanceState);
            global::Xamarin.Forms.Forms.Init(this, savedInstanceState);

            MessagingCenter.Subscribe <object>(this, SearchPage.QueryWeather, sender =>
            {
                //检索参数为城市和天气类型,实况天气为WEATHER_TYPE_LIVE、天气预报为WEATHER_TYPE_FORECAST
                var mquery         = new WeatherSearchQuery("北京", WeatherSearchQuery.WeatherTypeLive);
                var mweathersearch = new WeatherSearch(this);
                mweathersearch.SetOnWeatherSearchListener(new OnWeatherSearchListener());
                mweathersearch.Query = mquery;
                mweathersearch.SearchWeatherAsyn(); //异步搜索
            });

            MessagingCenter.Subscribe <object>(this, TrackPage.StartTrack, sender =>
            {
                //猎鹰相关
                mAMapTrackClient = new AMapTrackClient(this);
                //上报周期,采用默认,不设置
                //mAMapTrackClient.SetInterval
                //本地缓存大小,采用默认,不设置
                //mAMapTrackClient.SetCacheSize
                //定位模式,采用默认,不设置
                //mAMapTrackClient.SetLocationMode

                //执行一次,创建serviceid即可
                //await (Xamarin.Forms.Application.Current as App).CreateServiceId();
                //await (Xamarin.Forms.Application.Current as App).ServiceId();
                //137618从ServiceId()获取后复制的
                mAMapTrackClient.QueryTerminal(new QueryTerminalRequest(137618, "id1234"), new OnTrackListener(137618, "id1234", mAMapTrackClient));
            });

            LoadApplication(new App());
        }