Exemplo n.º 1
0
        private async Task InvokeClustering()
        {
            await ClearClustering();

            var coordinates = GetClusterCoordinates();

            var markers = await GetMarkers(coordinates, map1.InteropObject);

            if (_markerClustering == null)
            {
                // If adding a clustering event listener, initialize markerclusering with an empty marker list
                // Clustering happens immediately upon adding markers, so including markers with the init
                // creates a race condition with JSInterop adding a listener. If not adding a listener, pass markers
                // to CreateAsync to eliminate the latency of a second JSInterop call to AddMarkers.
                _markerClustering = await MarkerClustering.CreateAsync(map1.JsRuntime, map1.InteropObject, new List <Marker>(), new MarkerClustererOptions()
                {
                    // RendererObjectName = "customRendererLib.interpolatedRenderer"
                });

                await _markerClustering.AddListener("clusteringend", async() => { await SetMarkerListeners(); });
            }
            await _markerClustering.AddMarkers(markers);

            LatLngBoundsLiteral boundsLiteral = new LatLngBoundsLiteral(new LatLngLiteral()
            {
                Lat = coordinates.First().Lat, Lng = coordinates.First().Lng
            });

            foreach (var literal in coordinates)
            {
                LatLngBoundsLiteral.CreateOrExtend(ref boundsLiteral, literal);
            }
            await map1.InteropObject.FitBounds(boundsLiteral, OneOf.OneOf <int, GoogleMapsComponents.Maps.Coordinates.Padding> .FromT0(1));
        }
Exemplo n.º 2
0
        private async Task InvokeStyledIconsClustering()
        {
            await ClearClustering();

            var coordinates = GetClusterCoordinates();

            var markers = await GetMarkers(coordinates, map1.InteropObject);

            _markerClustering = await MarkerClustering.CreateAsync(map1.JsRuntime, map1.InteropObject, markers, new()
            {
                ClusterClass  = "custom-clustericon",
                AverageCenter = true,
                Styles        = new()
                {
                    new MarkerClusterIconStyle {
                        Height = 40, Width = 40, ClassName = "custom-clustericon-1",
                    },
                    new MarkerClusterIconStyle {
                        Height = 40, Width = 40, ClassName = "custom-clustericon-2", TextColor = "White"
                    },
                    new MarkerClusterIconStyle {
                        Height = 50, Width = 50, ClassName = "custom-clustericon-3"
                    }
                },
                ZoomOnClick = true,
            });

            await _markerClustering.FitMapToMarkers(1);

            //initMap
            //await JsObjectRef.InvokeAsync<object>("initMap", map1.InteropObject.Guid.ToString(), markers);
        }
Exemplo n.º 3
0
        private async Task InvokeClustering()
        {
            var coordinates = new List <LatLngLiteral>()
            {
                new LatLngLiteral(147.154312, -31.56391),
                new LatLngLiteral(150.363181, -33.718234),
                new LatLngLiteral(150.371124, -33.727111),
                new LatLngLiteral(151.209834, -33.848588),
                new LatLngLiteral(151.216968, -33.851702),
                new LatLngLiteral(150.863657, -34.671264),
                new LatLngLiteral(148.662905, -35.304724),
                new LatLngLiteral(175.699196, -36.817685),
                new LatLngLiteral(175.790222, -36.828611),
                new LatLngLiteral(145.116667, -37.75),
                new LatLngLiteral(145.128708, -37.759859),
                new LatLngLiteral(145.133858, -37.765015),
                new LatLngLiteral(145.143299, -37.770104),
                new LatLngLiteral(145.145187, -37.7737),
                new LatLngLiteral(145.137978, -37.774785),
                new LatLngLiteral(144.968119, -37.819616),
                new LatLngLiteral(144.695692, -38.330766),
                new LatLngLiteral(175.053218, -39.927193),
                new LatLngLiteral(174.865694, -41.330162),
                new LatLngLiteral(147.439506, -42.734358),
                new LatLngLiteral(147.501315, -42.734358),
                new LatLngLiteral(147.438, -42.735258),
                new LatLngLiteral(170.463352, -43.999792),
            };

            var markers = await GetMarkers(coordinates, map1.InteropObject);

            _markerClustering = await MarkerClustering.CreateAsync(map1.JsRuntime, map1.InteropObject, markers);

            await _markerClustering.FitMapToMarkers(1);

            //initMap
            //await JsObjectRef.InvokeAsync<object>("initMap", map1.InteropObject.Guid.ToString(), markers);
        }