Пример #1
0
        public OsmMap Build()
        {
            // var nodes = Osm.Nodes
            //  .GroupBy(c => c.ChangeSet)
            //  .Select(c => new OsmVersionedEntity<OsmNode>
            //  {
            //      ChangeSet = c.Key,
            //      History = c.OrderBy(n => n.Version).ToList()
            //  }.Compute())
            //  .ToList();
            var ways = Osm.Ways;
            var map  = new OsmMap
            {
                BaseOsm = Osm,
                Ways    = Osm.Ways.Select(c => new OsmMapWay
                {
                    Id        = c.Id,
                    Visible   = c.Visible,
                    Version   = c.Version,
                    ChangeSet = c.ChangeSet,
                    TimeStamp = c.TimeStamp,
                    User      = c.User,
                    Uid       = c.Uid,

                    Tags  = c.Tags,
                    Nodes = c.Nds
                            .Select(nd => Osm.Nodes.FirstOrDefault(n => n.Id == nd.Ref))
                            .OrderBy(f => f.Version)
                            .ToList()
                }).OrderBy(c => c.Version).ToList()
            };

            return(map);
        }
Пример #2
0
        public async Task <IMap> Initialize(MapOptions options, ElementReference hostElement)
        {
            var status = await _api.LoadGoogleScripts();

            if (status != LoadResponse.Loaded)
            {
                return(NoMap.Instance);
            }

            var mapId  = Guid.NewGuid().ToString();
            var module = await _moduleTask.Value;
            var map    = OsmMap.Create(mapId, options, hostElement, module);

            return(map);
        }
Пример #3
0
        public MapView()
        {
            InitializeComponent();

            //MapControl.FeatureInfo += MapControlFeatureInfo;
            //MapControl.MouseMove += MapControlOnMouseMove;
            MapControl.RenderMode            = RenderMode.Skia;
            MapControl.RotationLock          = true;
            MapControl.UnSnapRotationDegrees = 30;
            MapControl.ReSnapRotationDegrees = 5;
            MapControl.Renderer.WidgetRenders[typeof(CustomWidget)] = new CustomWidgetSkiaRenderer();

            var osmMap = new OsmMap();

            MapControl.Map = osmMap;

            osmMap.AddOffer("Trivadis GmbH - Stuttgart", 48.724974, 9.113017);

            //MapControl.Refresh();
        }