コード例 #1
0
ファイル: StartPage.xaml.cs プロジェクト: HankiDesign/MovePal
        private void HandleStyleLoaded(MapStyle obj)
        {
            var fillExtrusionLayer = new FillExtrusionLayer("3d-buildings", "composite")
            {
                SourceLayer         = "building",
                Filter              = Expression.Eq(Expression.Get("extrude"), "true"),
                MinZoom             = 10,
                FillExtrusionColor  = Color.LightGray,
                FillExtrusionHeight = Expression.Interpolate(
                    Expression.Exponential(1f),
                    Expression.Zoom(),
                    Expression.CreateStop(15, (0)),
                    Expression.CreateStop(16, Expression.Get("height"))
                    ),
                FillExtrusionBase    = Expression.Get("min_height"),
                FillExtrusionOpacity = 0.9f
            };

            //map.Functions.AddLayer(fillExtrusionLayer);

            map.Functions.AnimateCamera(map.Camera, 1000);

            iconImageSource = (ImageSource)"RE.png";
            map.Functions.AddStyleImage(iconImageSource);

            featureCollection = new FeatureCollection(symbolLayerIconFeatureList);

            source = new GeoJsonSource
            {
                Id   = "feature.memory.src",
                Data = featureCollection
            };

            map.Functions.AddSource(source);

            symbolLayer = new SymbolLayer("feature.symbol.layer", source.Id)
            {
                IconAllowOverlap = Expression.Literal(true),
                IconImage        = Expression.Literal(iconImageSource.Id),
                IconOffset       = Expression.Literal(new[] { -5, -5 }),
                IconSize         = Expression.Literal(0.7)
            };

            map.Functions.AddLayer(symbolLayer);

            map.DidTapOnMapCommand = new Command <(LatLng position, Point point)>(HandleMapTapped);
        }
        private void HandleStyleLoaded(MapStyle obj)
        {
            map.Functions.AddSource(new VectorSource("population", "mapbox://peterqliu.d0vin3el"));

            var fillsLayer = new FillLayer("fills", "population")
            {
                SourceLayer = ("outgeojson"),
                Filter      = (Expression.All(Expression.Lt(Expression.Get("pkm2"), 300000))),
                FillColor   = Expression.Interpolate(
                    Expression.Exponential(1f),
                    Expression.Get("pkm2"),
                    Expression.CreateStop(0, Expression.Rgb(22, 14, 35)),
                    Expression.CreateStop(14500, Expression.Rgb(0, 97, 127)),
                    Expression.CreateStop(145000, Expression.Rgb(85, 223, 255)))
            };

            map.Functions.AddLayerBelow(fillsLayer, "water");

            var fillExtrusionLayer = new FillExtrusionLayer("extrusions", "population")
            {
                SourceLayer = ("outgeojson"),
                Filter      = (Expression.All(Expression.Gt(Expression.Get("p"), 1),
                                              Expression.Lt(Expression.Get("pkm2"), 300000))),
                FillExtrusionColor = (Expression.Interpolate(
                                          Expression.Exponential(1f),
                                          Expression.Get("pkm2"),
                                          Expression.CreateStop(0, Expression.Rgb(22, 14, 35)),
                                          Expression.CreateStop(14500, Expression.Rgb(0, 97, 127)),
                                          Expression.CreateStop(145000, Expression.Rgb(85, 233, 255)))),
                FillExtrusionBase   = (0f),
                FillExtrusionHeight = (Expression.Interpolate(
                                           Expression.Exponential(1f),
                                           Expression.Get("pkm2"),
                                           Expression.CreateStop(0, 0f),
                                           Expression.CreateStop(1450000, 20000f)))
            };

            map.Functions.AddLayerBelow(fillExtrusionLayer, "airport-label");

            map.Functions.AnimateCamera(new CameraPosition(map.Center, map.ZoomLevel, map.Pitch, 0), 1000);
        }
コード例 #3
0
        private void HandleStyleLoaded(MapStyle obj)
        {
            var fillExtrusionLayer = new FillExtrusionLayer("3d-buildings", "composite")
            {
                SourceLayer         = "building",
                Filter              = Expression.Eq(Expression.Get("extrude"), "true"),
                MinZoom             = 15,
                FillExtrusionColor  = Color.LightGray,
                FillExtrusionHeight = Expression.Interpolate(
                    Expression.Exponential(1f),
                    Expression.Zoom(),
                    Expression.CreateStop(15, (0)),
                    Expression.CreateStop(16, Expression.Get("height"))
                    ),
                FillExtrusionBase    = Expression.Get("min_height"),
                FillExtrusionOpacity = 0.9f
            };

            map.Functions.AddLayer(fillExtrusionLayer);

            map.Functions.AnimateCamera(map.Camera, 1000);
        }