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; }
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()); }