コード例 #1
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            // Clear the default layer, add a dark one instead
            MapView.Layers.Clear();
            MapView.Layers.Add(new CartoOnlineVectorTileLayer(CartoBaseMapStyle.CartoBasemapStyleDark));

            Projection projection = MapView.Options.BaseProjection;

            // Create a datasource and layer for the map
            LocalVectorDataSource source = new LocalVectorDataSource(projection);
            VectorLayer           layer  = new VectorLayer(source);

            MapView.Layers.Add(layer);

            // Initialize CartoSQL service, set a username
            CartoSQLService service = new CartoSQLService();

            service.Username = "******";

            PointStyleBuilder builder = new PointStyleBuilder
            {
                Color = new Carto.Graphics.Color(255, 0, 0, 255),
                Size  = 1
            };

            MapView.QueryFeatures(service, source, builder.BuildStyle(), query);
        }
コード例 #2
0
        protected override void OnCreate(Android.OS.Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Clear the default layer, add a dark one instead
            MapView.Layers.Clear();

            var baseLayer = new CartoOnlineVectorTileLayer(CartoBaseMapStyle.CartoBasemapStyleDarkmatter);

            // Remove texts so dots would be more prominent
            (baseLayer.TileDecoder as MBVectorTileDecoder).SetStyleParameter("lang", "nolang");

            MapView.Layers.Add(baseLayer);

            Projection projection = MapView.Options.BaseProjection;

            // Create a datasource and layer for the map
            LocalVectorDataSource source = new LocalVectorDataSource(projection);
            VectorLayer           layer  = new VectorLayer(source);

            MapView.Layers.Add(layer);

            // Initialize CartoSQL service, set a username
            CartoSQLService service = new CartoSQLService();

            service.Username = "******";

            PointStyleBuilder builder = new PointStyleBuilder
            {
                Color = new Carto.Graphics.Color(255, 0, 0, 255),
                Size  = 1
            };

            MapView.QueryFeatures(service, source, builder.BuildStyle(), query);
        }
コード例 #3
0
        public static void QueryFeatures(this MapView map, CartoSQLService service, LocalVectorDataSource source, PointStyle style, string query)
        {
            System.Threading.Tasks.Task.Run(delegate
            {
                FeatureCollection features = service.QueryFeatures(query, map.Options.BaseProjection);

                for (int i = 0; i < features.FeatureCount; i++)
                {
                    Feature feature = features.GetFeature(i);

                    PointGeometry geometry = (PointGeometry)feature.Geometry;

                    var point = new Point(geometry, style);
                    source.Add(point);
                }
            });
        }
コード例 #4
0
        public static void QueryFeatures(this MapView map, CartoSQLService service, LocalVectorDataSource source, PointStyle style, string query)
        {
            System.Threading.Tasks.Task.Run(delegate
            {
                FeatureCollection features = service.QueryFeatures(query, map.Options.BaseProjection);

                for (int i = 0; i < features.FeatureCount; i++)
                {
                    Feature feature = features.GetFeature(i);

                    PointGeometry geometry = (PointGeometry)feature.Geometry;

                    var point = new Point(geometry, style);
                    source.Add(point);
                }

            });
        }