首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xamarin.Forms.Maps in CarouselView:未直接显示的路由

Xamarin.Forms.Maps in CarouselView:未直接显示的路由
EN

Stack Overflow用户
提问于 2021-03-05 11:57:21
回答 1查看 72关注 0票数 0

在carouselView地图中显示路线时,我遇到了问题。

设置

我的VireModel中的carouselview绑定到了一个cotentview

代码语言:javascript
复制
        private ContentView carousel;
        public ContentView Carousel
        {
            get { return carousel; }
            set
            {
                if (carousel != value)
                {
                    carousel = value;
                    OnPropertyChanged("Carousel");
                }
            }
        }

我给它以下的contentViews作为项目

代码语言:javascript
复制
        private void InitializeCarousel()
        {
            Carousel = new ContentView()
            {
                Content = CarouselView()
            };
        }

        private CarouselView CarouselView()
        {
            ContentView[] items = CarouselItems();


            CarouselView carouselView = new CarouselView()
            {

                ItemsSource = items,
                IndicatorView = indicatorView,
                ItemTemplate = viewDataTemplate
            };

            return carouselView;
        }

        private ContentView[] CarouselItems()
        {
            ContentView[] items = new ContentView[5] 
            {
                 MapView(), SpeedView(), PaceView(), HeightView(), StepLengthView() 
            };


            return items;

        }

MapView()的实现方式如下:

代码语言:javascript
复制
        private ContentView MapView()
        {
            
            Polygon route = new Polygon
            {
                StrokeWidth = 8,
                StrokeColor = Color.FromHex("#1BA1E2"),
                Geopath =
                {
                    new Position(47.6368678, -122.137305),
                    new Position(47.6368894, -122.134655),
                    new Position(47.6359424, -122.134655),
                    new Position(47.6359496, -122.1325521),
                    new Position(47.6424124, -122.1325199),
                    new Position(47.642463,  -122.1338932),
                    new Position(47.6406414, -122.1344833),
                    new Position(47.6384943, -122.1361248),
                    new Position(47.6372943, -122.1376912)
                }
            };

            MapSpan span = new MapSpan(new Position(47.6368678, -122.137305), 0.02, 0.02);
            
            Map map = new Map(span)
            {
                HasScrollEnabled = false,
                HasZoomEnabled = false,
            };

            map.MapElements.Add(route);

            ContentView view = new ContentView()
            {
                Content = map
            };

            return view;
        }

问题

问题是,如果在应用程序中打开页面,地图就会完全放大。如果我按时滑过旋转木马,我就能看到路线,MapSpan也是正确的。

  1. First:

  1. 在旋转木马上轻轻一扫后,

编辑

这里有一个问题

EN

回答 1

Stack Overflow用户

发布于 2021-03-05 12:17:30

请在您的map.MoveToRegion(mapSpan);方法中添加MapView

代码语言:javascript
复制
 private ContentView MapView()
        {
            
            Polygon route = new Polygon
            {
                StrokeWidth = 8,
                StrokeColor = Color.FromHex("#1BA1E2"),
                Geopath =
                {
                    new Position(47.6368678, -122.137305),
                    new Position(47.6368894, -122.134655),
                    new Position(47.6359424, -122.134655),
                    new Position(47.6359496, -122.1325521),
                    new Position(47.6424124, -122.1325199),
                    new Position(47.642463,  -122.1338932),
                    new Position(47.6406414, -122.1344833),
                    new Position(47.6384943, -122.1361248),
                    new Position(47.6372943, -122.1376912)
                }
            };

            MapSpan span = new MapSpan(new Position(47.6368678, -122.137305), 0.02, 0.02);
            
            Map map = new Map(span)
            {
                HasScrollEnabled = false,
                HasZoomEnabled = false,
            };

            map.MapElements.Add(route);
           
            ContentView view = new ContentView()
            {
                Content = map
            };
            map.MoveToRegion(mapSpan);
            return view;
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66492177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档