static IntPtr _CreateItem(IntPtr env, IntPtr __self, int index) { FixedItemizedOverlay self = Java.Lang.Object.GetObject <FixedItemizedOverlay>(__self, JniHandleOwnership.DoNotTransfer); OverlayItem value = self.CreateItem(index); return(JNIEnv.ToJniHandle(value)); }
public void AddItem(GeoPoint p, string title, string snippet) { OverlayItem item = new OverlayItem(p, title, snippet); overlayItems.Add(item); Populate(); }
/** * Sets the visibility of this overlay's balloon view to GONE and unfocus the item. */ public void HideBalloon() { if (_balloonView != null) { _balloonView.Visibility = ViewStates.Gone; } _currentFocusedItem = null; }
protected override bool OnTap(int index) { OverlayItem item = (OverlayItem)overlayItems.ElementAt(index); AlertDialog.Builder dialog = new AlertDialog.Builder(context); dialog.SetTitle(item.Title); dialog.SetMessage(item.Snippet); dialog.Show(); return(true); }
public MapOverlayItem (Context context, Drawable overlayDrawable, OverlayItem overlay, MapView mapView, bool canGetDirection = false) : base (overlayDrawable) { item = overlay; this.context = context; this.mapView = mapView; getDirections = canGetDirection; BoundCenterBottom (overlayDrawable); Populate (); assignmentViewModel = ServiceContainer.Resolve<AssignmentViewModel> (); }
public MapOverlayItem(Context context, Drawable overlayDrawable, OverlayItem overlay, MapView mapView, bool canGetDirection = false) : base(overlayDrawable) { item = overlay; this.context = context; this.mapView = mapView; getDirections = canGetDirection; BoundCenterBottom(overlayDrawable); Populate(); assignmentViewModel = ServiceContainer.Resolve <AssignmentViewModel> (); }
/// <summary> /// Adds the marker with the data of t and put on the map. /// </summary> /// <param name="geoLocation">GeoPoint of the created marker</param> /// <param name="drawable">Drawable, image of the exhibit</param> /// <param name="markerImage">int, id from drawable</param> /// <param name="title">String, title of the exhibit</param> /// <param name="description">String, description of the exhibit</param> /// <param name="exhibitId">int, exhibit id</param> private void AddMarker(GeoPoint geoLocation, Drawable drawable, string title, string description) { var marker = new OverlayItem(title, description, geoLocation); marker.SetMarker(drawable); this.mapMarkerItemizedOverlay.AddItem(marker); /*Map<String, Integer> data = new HashMap<>(); * data.put(title, exhibitId); * * mMarker.addMarker(null, title, description, geoLocation, drawable, icon, data);*/ }
private void BindingOverlays(Overlay defaultOverlay = null) { if (CurrentMap != null) { OverlayItem[] overlayItems = CurrentMap.Overlays.Where(o => o.IsBase).Select(o => new OverlayItem(o, o.IsVisible, ChangeBaseOverlay)).ToArray(); itemsControl.ItemsSource = overlayItems; if (defaultOverlay != null) { OverlayItem checkedOverlayItem = overlayItems.First(o => o.IsVisible); OverlayItem newOverlayItem = overlayItems.First(o => o.Overlay == defaultOverlay); checkedOverlayItem.IsVisible = false; newOverlayItem.IsVisible = true; } } }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.main); _mapView = FindViewById <MapView>(Resource.Id.mapview); _mapView.SetBuiltInZoomControls(true); // First overlay _drawable1 = Resources.GetDrawable(Resource.Drawable.marker); _itemizedOverlay = new SimpleItemizedOverlay(_drawable1, _mapView); var point = new GeoPoint((int)(51.5174723 * 1E6), (int)(-0.0899537 * 1E6)); var overlayItem = new OverlayItem(point, "Tomorrow Never Dies (1997)", "(M gives Bond his mission in Daimler car)"); _itemizedOverlay.AddOverlay(overlayItem); var point2 = new GeoPoint((int)(51.515259 * 1E6), (int)(-0.086623 * 1E6)); var overlayItem2 = new OverlayItem(point2, "GoldenEye (1995)", "(Interiors Russian defence ministry council chambers in St Petersburg)"); _itemizedOverlay.AddOverlay(overlayItem2); _mapView.Overlays.Add(_itemizedOverlay); // second overlay _drawable2 = Resources.GetDrawable(Resource.Drawable.marker2); _itemizedOverlay2 = new SimpleItemizedOverlay(_drawable2, _mapView); var point3 = new GeoPoint((int)(51.513329 * 1E6), (int)(-0.08896 * 1E6)); var overlayItem3 = new OverlayItem(point3, "Sliding Doors (1998)", null); _itemizedOverlay2.AddOverlay(overlayItem3); var point4 = new GeoPoint((int)(51.51738 * 1E6), (int)(-0.08186 * 1E6)); var overlayItem4 = new OverlayItem(point4, "Mission: Impossible (1996)", "(Ethan & Jim cafe meeting)"); _itemizedOverlay2.AddOverlay(overlayItem4); _mapView.Overlays.Add(_itemizedOverlay2); if (bundle == null) { var mc = _mapView.Controller; mc.SetZoom(16); mc.AnimateTo(point2); } }
/// <summary> /// Enable location tracking and place any overlays /// </summary> protected override void OnResume() { base.OnResume(); myLocation.EnableMyLocation(); if (assignment != null) { var overlayItem = new OverlayItem(new GeoPoint(assignment.Latitude.ToIntE6(), assignment.Longitude.ToIntE6()), assignment.CompanyName, string.Format("{0} {1}, {2} {3}", assignment.Address, assignment.City, assignment.State, assignment.Zip)); MapOverlayItem overlay = new MapOverlayItem(this, Resources.GetDrawable(Resource.Drawable.ActiveAssignmentIcon), overlayItem, mapView, true); mapView.Overlays.Add(overlay); } var dialog = new AlertDialog.Builder(this) .SetTitle("Google Maps") .SetMessage(Resources.GetString(Resource.String.GoogleMapsKeyIssue)) .SetPositiveButton("Ok", (sender, e) => { }) .Show(); }
private void ChangeBaseOverlay(OverlayItem item) { if (IsLoaded) { OverlayChangedOverlaySwitcherEventArgs overlaySwitchedEventArgs = new OverlayChangedOverlaySwitcherEventArgs(item.Overlay); OnOverlayChanged(overlaySwitchedEventArgs); if (overlaySwitchedEventArgs.Cancel) { item.IsVisible = false; } else { foreach (Overlay overlay in CurrentMap.Overlays.Where(o => o.IsBase)) { overlay.IsVisible = item.Overlay == overlay; } CurrentMap.Refresh(); } } }
private void button1_Click_1(object sender, EventArgs e) { OverlayItem item = new OverlayItem(); item.Coord = new PointF(float.Parse(tbClickedLng.Text), float.Parse(tbClickedLat.Text)); Bitmap b = new Bitmap(64, 64); Graphics g = Graphics.FromImage(b); Pen pen = new Pen(Color.Black, 3.0f); g.Clear(BackColor); g.DrawLine(pen, new Point(1, 1), new Point(62, 1)); g.DrawLine(pen, new Point(1, 1), new Point(31, 62)); g.DrawLine(pen, new Point(62, 1), new Point(31, 62)); g.Dispose(); item.Icon = b; item.Offset = new Point(31, 64); item.ToolTip = "Test"; item.Transparent = BackColor; openStreetMapViewer1.AddOverlayItem(item); }
protected override bool OnTap(int index) { _handler.RemoveCallbacks(_balloonRunnable); _isInflating = true; _handler.PostDelayed(_balloonRunnable, BALLOON_INFLATION_TIME); _currentFocusedIndex = index; _currentFocusedItem = CreateItem(index) as OverlayItem; SetLastFocusedIndex(index); OnBalloonOpen(index); CreateAndDisplayBalloonOverlay(); if (_snapToCenter) { animateTo(index, _currentFocusedItem.Point); } return(true); }
private void ChangeBaseOverlay(OverlayItem item) { if (IsLoaded) { OverlayChangedOverlaySwitcherEventArgs overlaySwitchedEventArgs = new OverlayChangedOverlaySwitcherEventArgs(item.Overlay); OnOverlayChanged(overlaySwitchedEventArgs); if (overlaySwitchedEventArgs.Cancel) { BindingOverlays(CurrentMap.Overlays.FirstOrDefault(o => o.IsBase && o.IsVisible)); } else { foreach (Overlay overlay in CurrentMap.Overlays.Where(o => o.IsBase)) { overlay.IsVisible = item.Overlay == overlay; } CurrentMap.Refresh(); } } }
protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.main); _mapView = FindViewById<MapView>(Resource.Id.mapview); _mapView.SetBuiltInZoomControls(true); // First overlay _drawable1 = Resources.GetDrawable(Resource.Drawable.marker); _itemizedOverlay = new SimpleItemizedOverlay(_drawable1, _mapView); var point = new GeoPoint((int)(51.5174723 * 1E6), (int)(-0.0899537 * 1E6)); var overlayItem = new OverlayItem(point, "Tomorrow Never Dies (1997)", "(M gives Bond his mission in Daimler car)"); _itemizedOverlay.AddOverlay(overlayItem); var point2 = new GeoPoint((int)(51.515259 * 1E6), (int)(-0.086623 * 1E6)); var overlayItem2 = new OverlayItem(point2, "GoldenEye (1995)", "(Interiors Russian defence ministry council chambers in St Petersburg)"); _itemizedOverlay.AddOverlay(overlayItem2); _mapView.Overlays.Add(_itemizedOverlay); // second overlay _drawable2 = Resources.GetDrawable(Resource.Drawable.marker2); _itemizedOverlay2 = new SimpleItemizedOverlay(_drawable2, _mapView); var point3 = new GeoPoint((int)(51.513329 * 1E6), (int)(-0.08896 * 1E6)); var overlayItem3 = new OverlayItem(point3, "Sliding Doors (1998)", null); _itemizedOverlay2.AddOverlay(overlayItem3); var point4 = new GeoPoint((int)(51.51738 * 1E6), (int)(-0.08186 * 1E6)); var overlayItem4 = new OverlayItem(point4, "Mission: Impossible (1996)", "(Ethan & Jim cafe meeting)"); _itemizedOverlay2.AddOverlay(overlayItem4); _mapView.Overlays.Add(_itemizedOverlay2); if (bundle == null) { var mc = _mapView.Controller; mc.SetZoom(16); mc.AnimateTo(point2); } }
private static OverlayItem CreateOverlayItem(string xamlTemplate, string title, string fields, double width, double height, double x, double y, double?duration, string cmsId, string azureId) { List <MetadataField> overlayMetadata = GetOverlayMetadata(fields); var item = new OverlayItem { Id = CreateUri("Overlays"), CMSId = cmsId, AzureId = azureId, Title = title, Metadata = overlayMetadata, XamlTemplate = xamlTemplate, Height = height * 100, Width = width * 100, X = x * 100, Y = y * 100, Duration = duration.HasValue ? duration.Value : 10 }; return(item); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.layoutMapEnterEvent); font = Typeface.CreateFromAsset(Assets, "Estedad.ttf"); MapentereventButtonBack = FindViewById <Button>(Resource.Id.MapentereventButtonBack); MapentereventButtonBack.Typeface = font; MapentereventButtonBack.Click += delegate { Finish(); }; Mapenterebentimgviewback = FindViewById <ImageView>(Resource.Id.Mapenterebentimgviewback); Mapenterebentimgviewback.Click += delegate { Finish(); }; entereventmapView = FindViewById <MapView>(Resource.Id.entereventmapView); // نمایش نقشه روی نقطه خاص entereventmapView.SetBuiltInZoomControls(true); entereventmapView.Controller.SetZoom(17); entereventmapView.SetTileSource(TileSourceFactory.Mapnik); entereventmapView.SetMultiTouchControls(true); var coordination = new GeoPoint(29.62422, 52.53170); entereventmapView.Controller.SetCenter(coordination); //اضافه کردن مارکر در نقظه ای خاص var myoverlayPoint = new OverlayItem("MyTitle", "MyText", new Osmdroid.Util.GeoPoint(29.62422, 52.53170)); var myoverlays = new List <OverlayItem>(); myoverlays.Add(myoverlayPoint); var myItemIconOverlays = new Osmdroid.Views.Overlay. ItemizedIconOverlay(this, myoverlays, null); entereventmapView.Overlays.Add(myItemIconOverlays); }
/// <summary> /// Set the value of an item in the debug overlay, or add it if it doesn't exist. /// </summary> public void SetOverlayItem(OverlayItem item, int?index = null) { foreach (OverlayItem overlayItem in overlayItems) { if (overlayItem.Name == item.Name) { overlayItem.Value = item.Value; RefreshDebugOverlay(); return; } } if (index != null && index < overlayItems.Count) { overlayItems[(int)index] = item; RefreshDebugOverlay(); return; } overlayItems.Add(item); RefreshDebugOverlay(); }
/** * Sets the view data from a given overlay item. Override this method to create * your own data/view mappings. * * @param item - The overlay item containing the relevant view data. * @param parent - The parent layout for this BalloonOverlayView. */ protected void SetBalloonData(OverlayItem item, ViewGroup parent) { if (!string.IsNullOrEmpty(item.Title)) { _title.Visibility = ViewStates.Visible; _title.Text = item.Title; } else { _title.Text = ""; _title.Visibility = ViewStates.Gone; } if (!string.IsNullOrEmpty(item.Snippet)) { _snippet.Visibility = ViewStates.Visible; _snippet.Text = item.Snippet; } else { _snippet.Text = ""; _snippet.Visibility = ViewStates.Gone; } }
/// <summary> /// Updates location pins on the map. /// </summary> private void UpdateLocations() { assignmentViewModel.LoadAssignmentsAsync().ContinueWith(_ => { RunOnUiThread(() => { int i = 0; foreach (var item in assignmentViewModel.Assignments) { var overlay = new OverlayItem(new GeoPoint(item.Latitude.ToIntE6(), item.Longitude.ToIntE6()), item.CompanyName, string.Format("{0} {1}, {2} {3}", item.Address, item.City, item.State, item.Zip)); Drawable drawable = null; switch (item.Status) { case AssignmentStatus.Hold: drawable = Resources.GetDrawable(Resource.Drawable.AcceptedAssignmentIcon); break; default: drawable = Resources.GetDrawable(Resource.Drawable.NewAssignmentIcon); break; } var mapoverlay = new MapOverlayItem(this, drawable, overlay, mapView); mapoverlay.AssignmentIndex = i; mapView.Overlays.Add(mapoverlay); i++; } if (assignmentViewModel.ActiveAssignment != null) { var activeOverlay = new OverlayItem(new GeoPoint(assignmentViewModel.ActiveAssignment.Latitude.ToIntE6(), assignmentViewModel.ActiveAssignment.Longitude.ToIntE6()), assignmentViewModel.ActiveAssignment.CompanyName, string.Format("{0} {1}, {2} {3}", assignmentViewModel.ActiveAssignment.Address, assignmentViewModel.ActiveAssignment.City, assignmentViewModel.ActiveAssignment.State, assignmentViewModel.ActiveAssignment.Zip)); var mapoverlay = new MapOverlayItem(this, Resources.GetDrawable(Resource.Drawable.ActiveAssignmentIcon), activeOverlay, mapView); mapoverlay.AssignmentIndex = -1; mapView.Overlays.Add(mapoverlay); } }); }); }
public void InitOverlay() { /** * 创建自定义overlay */ mOverlay = new MyOverlay(this, Resources.GetDrawable(Resource.Drawable.icon_marka), mMapView); /** * 准备overlay 数据 */ GeoPoint p1 = new GeoPoint((int)(mLat1 * 1E6), (int)(mLon1 * 1E6)); OverlayItem item1 = new OverlayItem(p1, "覆盖物1", ""); /** * 设置overlay图标,如不设置,则使用创建ItemizedOverlay时的默认图标. */ item1.Marker = Resources.GetDrawable(Resource.Drawable.icon_marka); GeoPoint p2 = new GeoPoint((int)(mLat2 * 1E6), (int)(mLon2 * 1E6)); OverlayItem item2 = new OverlayItem(p2, "覆盖物2", ""); item2.Marker = Resources.GetDrawable(Resource.Drawable.icon_markb); GeoPoint p3 = new GeoPoint((int)(mLat3 * 1E6), (int)(mLon3 * 1E6)); OverlayItem item3 = new OverlayItem(p3, "覆盖物3", ""); item3.Marker = Resources.GetDrawable(Resource.Drawable.icon_markc); GeoPoint p4 = new GeoPoint((int)(mLat4 * 1E6), (int)(mLon4 * 1E6)); OverlayItem item4 = new OverlayItem(p4, "覆盖物4", ""); item4.Marker = Resources.GetDrawable(Resource.Drawable.icon_gcoding); /** * 将item 添加到overlay中 * 注意: 同一个itme只能add一次 */ mOverlay.AddItem(item1); mOverlay.AddItem(item2); mOverlay.AddItem(item3); mOverlay.AddItem(item4); /** * 保存所有item,以便overlay在reset后重新添加 */ mItems = new List<OverlayItem>(); mItems.AddRange(mOverlay.AllItem); // 初始化 ground 图层 mGroundOverlay = new GroundOverlay(mMapView); GeoPoint leftBottom = new GeoPoint((int)(mLat5 * 1E6), (int)(mLon5 * 1E6)); GeoPoint rightTop = new GeoPoint((int)(mLat6 * 1E6), (int)(mLon6 * 1E6)); Drawable d = Resources.GetDrawable(Resource.Drawable.ground_overlay); Bitmap bitmap = ((BitmapDrawable)d).Bitmap; mGround = new Ground(bitmap, leftBottom, rightTop); /** * 将overlay 添加至MapView中 */ mMapView.Overlays.Add(mOverlay); mMapView.Overlays.Add(mGroundOverlay); mGroundOverlay.AddGround(mGround); /** * 刷新地图 */ mMapView.Refresh(); mResetBtn.Enabled = false; mClearBtn.Enabled = true; /** * 向地图添加自定义View. */ viewCache = LayoutInflater.Inflate(Resource.Layout.custom_text_view, null); popupInfo = viewCache.FindViewById<View>(Resource.Id.popinfo); popupLeft = viewCache.FindViewById<View>(Resource.Id.popleft); popupRight = viewCache.FindViewById<View>(Resource.Id.popright); popupText = viewCache.FindViewById<TextView>(Resource.Id.textcache); button = new Button(this); button.SetBackgroundResource(Resource.Drawable.popup); /** * 创建一个popupoverlay */ IPopupClickListener popListener = new IPopupClickListenerImpl(this); pop = new PopupOverlay(mMapView, popListener); }
/** * Override this method to handle a "tap" on a balloon. By default, does nothing * and returns false. * * @param index - The index of the item whose balloon is tapped. * @param item - The item whose balloon is tapped. * @return true if you handled the tap, otherwise false. */ protected bool OnBalloonTap(int index, OverlayItem item) { return(false); }
protected async override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.Main); SupportActionBar.DisplayOptions = (int)ActionBarDisplayOptions.ShowCustom; SupportActionBar.SetCustomView(Resource.Layout.ActionBar_Moses); _sos = SupportActionBar.CustomView.FindViewById <RelativeLayout>(Resource.Id.sos); _myLocation = SupportActionBar.CustomView.FindViewById <RelativeLayout>(Resource.Id.where_i); _layers = SupportActionBar.CustomView.FindViewById <RelativeLayout>(Resource.Id.layers); _sos.Click += delegate(object sender, EventArgs args) { Toast.MakeText(this, "Help me!!!!", ToastLength.Long).Show(); }; _layers.Click += delegate(object sender, EventArgs args) { AlertDialog.Builder builderSingle = new AlertDialog.Builder(this); builderSingle.SetTitle("Type"); ArrayAdapterWithIcon arrayAdapter = new ArrayAdapterWithIcon( this, Android.Resource.Layout.select_dialog_singlechoice_material); arrayAdapter.Add(new ListItem() { ImageResourceId = Resource.Drawable.tse_tse }); arrayAdapter.Add(new ListItem() { ImageResourceId = Resource.Drawable.grass }); arrayAdapter.Add(new ListItem() { ImageResourceId = Resource.Drawable.water }); arrayAdapter.Add(new ListItem() { ImageResourceId = Resource.Drawable.fire }); builderSingle.SetNegativeButton("Cancel", NegativeHandler); builderSingle.SetAdapter(arrayAdapter, this); builderSingle.Show(); }; _myLocation.Click += delegate(object sender, EventArgs args) { _mapController.SetCenter(_centreOfMap); }; //StyleInterpreter interpreter = null; try { bool isTile = true; //List<OsmGeo> osm = null; if (isTile) { _mapView = FindViewById <MapView>(Resource.Id.mapview); _mapView.SetTileSource(TileSourceFactory.DefaultTileSource); _mapView.SetBuiltInZoomControls(true); //_mapView.SetUseDataConnection(false); _provider = new CustomLocationProvider(this); _provider.StartLocationProvider(new MyLocationNewOverlay(this, _mapView)); //List<OverlayItem> overlayItemArray = new List<OverlayItem>(); //OverlayItem olItem = new OverlayItem("Here", "SampleDescription", new GeoPoint(34.878039, -10.650)); //overlayItemArray.Add(olItem); //olItem.SetMarker(Resources.GetDrawable(Resource.Drawable.cloud)); //overlayItemArray.Add(new OverlayItem("Hi", "You're here", new GeoPoint(34.888039, -10.660))); //DefaultResourceProxyImpl defaultResourceProxyImpl = new DefaultResourceProxyImpl(this); //ItemizedIconOverlay myItemizedIconOverlay = new ItemizedIconOverlay(overlayItemArray, null, defaultResourceProxyImpl); //_mapView.Overlays.Add(myItemizedIconOverlay); //PathOverlay myPath = new PathOverlay(Color.Red, this); //myPath.AddPoint(new GeoPoint(34.878039, -10.650)); //myPath.AddPoint(new GeoPoint(34.888039, -10.660)); //_mapView.Overlays.Add(myPath); _mapController = _mapView.Controller; _mapController.SetZoom(6); _mapController.SetCenter(_centreOfMap); _geoPositionOverlay = new GeoPositionOverlay(this); _geoPositionOverlay.GeoPointTapped += async delegate(object sender, IGeoPoint point) { List <OverlayItem> overlayItemArray = new List <OverlayItem>(); OverlayItem olItem = new OverlayItem("Here", "SampleDescription", new GeoPoint(point.Latitude, point.Longitude)); overlayItemArray.Add(olItem); olItem.SetMarker(Resources.GetDrawable(Resource.Drawable.cloud)); DefaultResourceProxyImpl defaultResourceProxyImpl = new DefaultResourceProxyImpl(this); ItemizedIconOverlay myItemizedIconOverlay = new ItemizedIconOverlay(overlayItemArray, null, defaultResourceProxyImpl); _mapView.Overlays.Add(myItemizedIconOverlay); _mapView.Invalidate(); try { var service = new OsmTest.Android.Services.ApiService(); await service.UploadPoint(point.Latitude, point.Longitude); } catch (Exception exception) { Toast.MakeText(this, exception.Message, ToastLength.Long).Show(); } }; _mapView.Overlays.Add(_geoPositionOverlay); _geoService = new CouchDbGeoObjectsService(); //var firstPoint = ((GeoJSON.Net.Geometry.Point) points.Features[0].Geometry); //var firstPoint = new OsmSharp.Geo.Geometries.Point(new OsmSharp.Math.Geo.GeoCoordinate(33, -10)); //double x = ((GeographicPosition) firstPoint.Coordinates).Latitude; //double y = ((GeographicPosition)firstPoint.Coordinates).Longitude; //List<OverlayItem> overlayItemArray = new List<OverlayItem>(); //OverlayItem olItem = new OverlayItem("Here", "SampleDescription", new GeoPoint(x, y)); //overlayItemArray.Add(olItem); //olItem.SetMarker(Resources.GetDrawable(Resource.Drawable.cloud)); //ItemizedIconOverlay newPoints = new ItemizedIconOverlay(overlayItemArray, null, defaultResourceProxyImpl); //_mapView.Overlays.Add(newPoints); } else { /*List<OsmGeo> osm = await _service.DownloadArea(34.878039, -10.465, 36, -9.077); * if (osm != null) * { * Native.Initialize(); * * // initialize map. * var map = new Map(); * interpreter = new MapCSSInterpreter(css); * * IDataSourceReadOnly source = new MemoryDataSource(osm.ToArray()); * var layer = map.AddLayerOsm(source, interpreter); * * _mapView = new MapView(this, new MapViewSurface(this)); * _mapView.Map = map; * _mapView.MapMaxZoomLevel = 17; // limit min/max zoom because MBTiles sample only contains a small portion of a map. * _mapView.MapMinZoomLevel = 1; * _mapView.MapTilt = 0; * _mapView.MapCenter = new GeoCoordinate(-9.2, 36); * _mapView.MapZoom = 2; * _mapView.MapAllowTilt = false; * * //OsmSharp.Data.SQLite.SQLiteConnectionBase sqLiteConnection = new SQLiteConnection("osmMap"); * * frame.AddView(_mapView); * var textLabel = FindViewById<TextView>(Resource.Id.text_label); * textLabel.Text = "Изображение подгрузилось"; * Toast.MakeText(this, "Read success", ToastLength.Long).Show(); * } * else * { * Toast.MakeText(this, "OSM is null", ToastLength.Long).Show(); * }*/ } } catch (Exception exception) { //Toast.MakeText(this, exception.Message, ToastLength.Long).Show(); } }
public void AddOverlayItem(OverlayItem item) { overlayItems.Add(item); Populate(); }
public void OnGetAddrResult(MKAddrInfo res, int error) { if (error != 0) { string str = String.Format("错误号:%d", error); Toast.MakeText(geoCoderDemo, str, ToastLength.Long).Show(); return; } //地图移动到该点 geoCoderDemo.mMapView.Controller.AnimateTo(res.GeoPt); if (res.Type == MKAddrInfo.MkGeocode) { //地理编码:通过地址检索坐标点 string strInfo = String.Format("纬度:%f 经度:%f", res.GeoPt.LatitudeE6 / 1e6, res.GeoPt.LongitudeE6 / 1e6); Toast.MakeText(geoCoderDemo, strInfo, ToastLength.Long).Show(); } if (res.Type == MKAddrInfo.MkReversegeocode) { //反地理编码:通过坐标点检索详细地址及周边poi string strInfo = res.StrAddr; Toast.MakeText(geoCoderDemo, strInfo, ToastLength.Long).Show(); } //生成ItemizedOverlay图层用来标注结果点 ItemizedOverlay<OverlayItem> itemOverlay = new ItemizedOverlay<OverlayItem>(null, geoCoderDemo.mMapView); //生成Item OverlayItem item = new OverlayItem(res.GeoPt, "", null); //得到需要标在地图上的资源 Drawable marker = geoCoderDemo.Resources.GetDrawable(Resource.Drawable.icon_markf); //为maker定义位置和边界 marker.SetBounds(0, 0, marker.IntrinsicWidth, marker.IntrinsicHeight); //给item设置marker item.Marker = marker; //在图层上添加item itemOverlay.AddItem(item); //清除地图其他图层 geoCoderDemo.mMapView.Overlays.Clear(); //添加一个标注ItemizedOverlay图层 geoCoderDemo.mMapView.Overlays.Add(itemOverlay); //执行刷新使生效 geoCoderDemo.mMapView.Refresh(); }
public string Overlay(RootNode target) { var overlayItems = new List <OverlayItem>(); var nodesToDelete = new List <OverlayItem>(); var nodesToAdd = new List <OverlayItem>(); foreach (var kv in _pathMap) { var srcNodePath = kv.Key; var srcNode = kv.Value; if (!target._pathMap.ContainsKey(srcNodePath)) { var item = OverlayItem.AddNode(srcNode); overlayItems.Add(item); nodesToAdd.Add(item); continue; } var targetNode = target._pathMap[srcNodePath]; foreach (var kv0 in kv.Value.Properties) { var srcPropName = kv0.Key; var srcProp = kv0.Value; if (!targetNode.Properties.ContainsKey(srcPropName) || srcProp.Value != targetNode.Properties[srcPropName].Value) { overlayItems.Add(OverlayItem.SetProperty(srcNode, srcProp)); } } } foreach (var kv in target._pathMap) { var targetNodePath = kv.Key; var targetNode = kv.Value; if (!_pathMap.ContainsKey(targetNodePath)) { var item = OverlayItem.DeleteNode(targetNode); overlayItems.Add(item); nodesToDelete.Add(item); continue; } var srcNode = _pathMap[kv.Key]; foreach (var kv0 in kv.Value.Properties) { var targetPropName = kv0.Key; var targetProp = kv0.Value; if (!srcNode.Properties.ContainsKey(targetPropName)) { overlayItems.Add(OverlayItem.DeleteProperty(targetNode, targetProp)); } } } var processedItems = new List <OverlayItem>(); var delayedItems = new List <OverlayItem>(); var dump = ""; for (var i = 0; i < overlayItems.Count; i++) { var item = overlayItems[i]; if (nodesToDelete.Any(di => item.Node.IsDescendantOf(di.Node)) || nodesToAdd.Any(di => item.Node.IsDescendantOf(di.Node))) { continue; } var itemsAtSameLocation = overlayItems.Where(o => o != item && o.Location == item.Location).ToList(); foreach (var oi in itemsAtSameLocation) { overlayItems.Remove(oi); } // if(!string.IsNullOrEmpty(item._node.Label) && !processedItems.Contains()) dump += item.Dump(itemsAtSameLocation); // processedItems.Add(item); // processedItems.AddRange(itemsAtSameLocation); } return(dump); }
public void AddOverlay(OverlayItem overlayitem) { _overlays.Add(overlayitem); Populate(); }
/** * Sets the view data from a given overlay item. * * @param item - The overlay item containing the relevant view data. */ public void setData(OverlayItem item) { _layout.Visibility = ViewStates.Visible; SetBalloonData(item, _layout); }
private void LoadAssets(string filePath) { XDocument document = XDocument.Load(filePath); XElement assets = document.Element("Assets"); if (assets != null) { foreach (XElement asset in assets.Elements()) { string type = asset.Attribute("Type").GetValue().ToLowerInvariant(); string title = asset.Attribute("Title").GetValue(); Uri thumbnailUri = asset.Attribute("ThumbnailUri").GetValueAsUri(UriKind.Absolute); Uri sourceUri = asset.Attribute("SourceUri").GetValueAsUri(UriKind.Absolute); double? duration = asset.Attribute("DurationInSeconds").GetValueAsDouble(); bool isAdaptiveStreaming = asset.Attribute("IsAdaptiveStreaming").GetValueAsBoolean().GetValueOrDefault(); IList <string> dataStreams = asset.Attribute("DataStreams").GetValueAsStringList(","); string frameRate = asset.Attribute("FrameRate").GetValue(); double width = asset.Attribute("Width").GetValueAsDouble().GetValueOrDefault(1280); double height = asset.Attribute("Height").GetValueAsDouble().GetValueOrDefault(720); double x = asset.Attribute("X").GetValueAsDouble().GetValueOrDefault(0); double y = asset.Attribute("Y").GetValueAsDouble().GetValueOrDefault(0); string fields = asset.Attribute("Fields").GetValue(); string template = asset.Attribute("Template").GetValue(); string archiveUrl = asset.Attribute("ArchiveURL").GetValue(); string cmsId = asset.Attribute("CMSId").GetValue(); string vodUrl = asset.Attribute("VODUrl").GetValue(); string azureId = asset.Attribute("AzureId").GetValue(); Metadata metadata = this.metadataLocator.GetMetadata(sourceUri); List <AudioStreamInfo> audioStreamsInformation = new List <AudioStreamInfo>(); IList <string> videoStreamInformation = new List <string>(); if (metadata != null) { IEnumerable <StreamInfo> audioStream = metadata.MetadataFields.SingleOrDefault(mf => mf.Name.Equals("AudioStreams", StringComparison.OrdinalIgnoreCase)).Value as IEnumerable <StreamInfo>; if (audioStream != null) { foreach (StreamInfo streamInfo in audioStream) { string name = null; if (streamInfo.Attributes.ContainsKey("Name")) { name = streamInfo.Attributes["Name"]; } bool isStereo = true; if (streamInfo.QualityLevels.Count > 0 && streamInfo.QualityLevels.FirstOrDefault().Attributes.ContainsKey("Channels")) { isStereo = streamInfo.QualityLevels.FirstOrDefault().Attributes["Channels"] == "2"; } audioStreamsInformation.Add(new AudioStreamInfo { IsStereo = isStereo, Name = name }); } } MetadataField videoStreamMetadataField = metadata.MetadataFields.SingleOrDefault(mf => mf.Name.Equals("VideoStreams", StringComparison.OrdinalIgnoreCase)); if (videoStreamMetadataField != null) { IList <string> videoStreams = videoStreamMetadataField.Value as IList <string>; if (videoStreams != null) { videoStreamInformation = videoStreams; } } } SmpteFrameRate smpteFrameRate; if (frameRate == null || !Enum.TryParse(frameRate, true, out smpteFrameRate)) { smpteFrameRate = SmpteFrameRate.Smpte2997NonDrop; } // TODO: Refactor this))) if (type == "video") { VideoItem item = CreateVideoItem(isAdaptiveStreaming, dataStreams, sourceUri, title, thumbnailUri, duration, smpteFrameRate, width, height, audioStreamsInformation, videoStreamInformation, archiveUrl, cmsId, vodUrl, azureId); this.library.Items.Add(item); } if (type == "audio") { AudioItem item = CreateAudioItem(sourceUri, title, duration, archiveUrl, cmsId, azureId); this.library.Items.Add(item); } if (type == "image") { ImageItem item = CreateImageItem(sourceUri, title, width, height, cmsId, azureId); this.library.Items.Add(item); } if (type == "overlay") { OverlayItem item = CreateOverlayItem(template, title, fields, width, height, x, y, duration, cmsId, azureId); this.library.Items.Add(item); } } } }
/// <summary> /// Updates location pins on the map. /// </summary> private void UpdateLocations () { assignmentViewModel.LoadAssignmentsAsync ().ContinueWith (_ => { RunOnUiThread (() => { int i = 0; foreach (var item in assignmentViewModel.Assignments) { var overlay = new OverlayItem (new GeoPoint (item.Latitude.ToIntE6 (), item.Longitude.ToIntE6 ()), item.CompanyName, string.Format ("{0} {1}, {2} {3}", item.Address, item.City, item.State, item.Zip)); Drawable drawable = null; switch (item.Status) { case AssignmentStatus.Hold: drawable = Resources.GetDrawable (Resource.Drawable.AcceptedAssignmentIcon); break; default: drawable = Resources.GetDrawable (Resource.Drawable.NewAssignmentIcon); break; } var mapoverlay = new MapOverlayItem (this, drawable, overlay, mapView); mapoverlay.AssignmentIndex = i; mapView.Overlays.Add (mapoverlay); i++; } if (assignmentViewModel.ActiveAssignment != null) { var activeOverlay = new OverlayItem (new GeoPoint (assignmentViewModel.ActiveAssignment.Latitude.ToIntE6 (), assignmentViewModel.ActiveAssignment.Longitude.ToIntE6 ()), assignmentViewModel.ActiveAssignment.CompanyName, string.Format ("{0} {1}, {2} {3}", assignmentViewModel.ActiveAssignment.Address, assignmentViewModel.ActiveAssignment.City, assignmentViewModel.ActiveAssignment.State, assignmentViewModel.ActiveAssignment.Zip)); var mapoverlay = new MapOverlayItem (this, Resources.GetDrawable (Resource.Drawable.ActiveAssignmentIcon), activeOverlay, mapView); mapoverlay.AssignmentIndex = -1; mapView.Overlays.Add (mapoverlay); } }); }); }
public void SetData(IList<CloudPoiInfo> lbsPoints) { if (lbsPoints != null) { mLbsPoints = lbsPoints; } foreach (CloudPoiInfo rec in mLbsPoints) { GeoPoint pt = new GeoPoint((int)(rec.Latitude * 1e6), (int)(rec.Longitude * 1e6)); OverlayItem item = new OverlayItem(pt, rec.Title, rec.Address); Drawable marker1 = this.mContext.Resources.GetDrawable(Resource.Drawable.icon_marka); item.Marker = marker1; AddItem(item); } }
private void ChangeCustomOverlay(OverlayItem item) { item.Overlay.IsVisible = item.IsVisible; CurrentMap.Refresh(); }
public void RemoveOverlayItem(OverlayItem item) { overlayItems.Remove(item); Populate(); }
/// <summary> /// Enable location tracking and place any overlays /// </summary> protected override void OnResume () { base.OnResume (); myLocation.EnableMyLocation (); if (assignment != null) { var overlayItem = new OverlayItem (new GeoPoint (assignment.Latitude.ToIntE6 (), assignment.Longitude.ToIntE6 ()), assignment.CompanyName, string.Format ("{0} {1}, {2} {3}", assignment.Address, assignment.City, assignment.State, assignment.Zip)); MapOverlayItem overlay = new MapOverlayItem (this, Resources.GetDrawable (Resource.Drawable.ActiveAssignmentIcon), overlayItem, mapView, true); mapView.Overlays.Add (overlay); } var dialog = new AlertDialog.Builder (this) .SetTitle ("Google Maps") .SetMessage (Resources.GetString (Resource.String.GoogleMapsKeyIssue)) .SetPositiveButton ("Ok", (sender, e) => { }) .Show (); }