亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何用單獨的 Pin 替換 MapView?

如何用單獨的 Pin 替換 MapView?

C#
料青山看我應如是 2022-11-21 21:23:04
我正在嘗試更改我的 Xamarin Forms 應用程序(使用 Mapsui 和 Prism)中的 MapView,因為我需要單獨的視圖來存儲 Pins。第一個 MapView(我們稱之為default)用于顯示列表中的所有引腳。第二個 MapView ( history) 用于顯示新的圖釘,這些圖釘在離開頁面時被移除。我必須Dictionary存儲我的 MapViews 才能輕松訪問我想要的任何視圖。每個創建的 MapView 都有相同的 Map 實例。我想從which should hide pins that added in view更改default為。historydefault我用這個改變觀點:public void ChangeView(string name)        {            var prev = MapView;            loggerService.Info($"Pins: {prev.Pins.Count}");            MapView = GetView(name); // Current MapView in XAML, returns instance of MapView            loggerService.Info($"New view pins: {MapView.Pins.Count}");            Task.Factory.StartNew(() =>             {                Task.Delay(2000).Wait();                loggerService.Info($"View pins: {MapView.Pins.Count}");            });            MapView.Refresh();        }帶有日志的額外代碼用于調試目的 - 它顯示正確的值(prev pins = 7,new pins = 0,view pins = 0)。我添加了history不帶縮放按鈕的視圖,以確保它正在發生變化——而且確實發生了變化(所以我認為沒有必要發布 XAML)。我應該如何更改 MapView 以在導航到歷史記錄時隱藏圖釘并在切換回默認視圖時顯示它們?或者是否有更好的方法來“分組”Pin 并根據名稱隱藏/顯示它們?更新 我認為這可能很重要:public Pin AddMarker(Position point)        {            var pin = new Pin(MapView)            {                Label = "PinType.Pin",                Position = point,                Type = PinType.Pin,                Transparency = 0.5f,                Color = Xamarin.Forms.Color.FromRgb(2, 144, 210),                Scale = 0.5f,            };            MapView.Pins.Add(pin);            return pin;        }這是我添加 Pin 圖以查看的方式。這個和上面的MapView是一樣的(所有代碼都來自于MapService)。
查看完整描述

1 回答

?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

一些選項

對于較低級別的功能,您可能需要示例來幫助您上路:https ://mapsui.com/documentation/samples.html


查看完整回答
反對 回復 2022-11-21
  • 1 回答
  • 0 關注
  • 111 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號