Giter VIP home page Giter VIP logo

xaml-map-control's People

Contributors

clemensfischer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xaml-map-control's Issues

MapScale Units

Hi Clemens,

For folks across the pond in the US, would you mind implementing Imperial units (miles/feet) in the MapScale? It'd be pretty nifty with a property to switch between could be utilized. I've added MapControl to my project through NuGet.

Thanks!

why silverlight is not supported any more?

From source code of the xaml-map-control project, silverlight cannot be found any more.
I am studying web-gis with silverlight version but silverlight compatible is removed :(
Would xaml-map-control silverlight version be counted in future? Thanks.

Option to disable FileDbCache cleanup on startup

public FileDbCache(string path, bool autoFlush = true, int autoCleanThreshold = -1, bool cleanNow = true)

Will add an option to maintain all expired tiles on startup. This is a must feature in cases where the used device is usually offline, so it will still be possible to view all cached tiles.

Can you please consider this non breaking change? Thanks.

Condiser same assembly name for WPF and WPF.Core

In some cases that we want to use the control in multi-target projects like this:

<TargetFrameworks>netcoreapp3.0;net472</TargetFrameworks>

if we have a XAML file and want to add the Map control, then we should add this namespace for WPF:

xmlns:m="clr-namespace:MapControl;assembly=MapControl.WPF"

and this fot WPF.Core

xmlns:m="clr-namespace:MapControl;assembly=MapControl.WPF.Core"

so in multi-target project (that we have one XAML file for both) we can't use the control easily, and should write some code in cs file.

Please make the namespace of two projects the same, or merge them into one project!

thanks.

Version History

Hi @ClemensFischer,
Is there a version history somewhere?
I have to compare code to know what are changes between 3.0.0 and 4.2.0?
Thank you for your work!

Transforming a MapShape

Hi Clemens,

Not an issue, just wanted your advice.
I'm deriving a class from MapShape which I'm intending to transform (Rotate and Scale centered on Location).
I've tried several things unsuccessfully like applying a RenderTransform(angle) or RenderTransform(angle, Location.Longitude, Location.Latitude).
Looks like my shape is not rotating around the correct center.

Any clues?

Thanks,
Fernando.

DataTemplate

Hi,
I need to do a dataTemplate like that

<Grid.Resources>
   <DataTemplate x:Key="TemplatePointWithRayon" >

            <Grid>
                <map:MapPolyline Locations="{Binding Locations}" Stroke="Red" StrokeThickness="3"/>

                <Path map:MapPanel.Location="{Binding Location}" Stroke="Blue" StrokeThickness="3" Fill="#1F007F00">
                    <Path.Data>
                        <EllipseGeometry RadiusX="1852" RadiusY="1852" Transform="{Binding ScaleRotateTransform, ElementName=map}"/>
                    </Path.Data>
                </Path>

                <map:Pushpin map:MapPanel.Location="{Binding Location}" >

                    <Image Source="{Binding NormalBitmap}"></Image>
                    
                </map:Pushpin>

            </Grid>
        </DataTemplate>
 </Grid.Resources>

<map:Map x:Name="map" ZoomLevel="11" MaxZoomLevel="20" Center="43.6,1.44"  >

  <map:MapItemsControl ItemsSource="{Binding Visuals}"   IsSynchronizedWithCurrentItem="True"
                         ItemTemplate="{StaticResource TemplatePointWithRayon}"
            />

 </map:Map>

but that render this:

image

Thanks.

MapScale and Style in Version 4.7.0

I think, I have found a small issue with the WPF nuget package. Using a MapScale object and setting its properties like this:

<map:MapScale Foreground="Blue" Stroke="Blue" StrokeThickness="2"/>

image

works as expected. You get a blue label and a blue scale line with a thickness of 2.
If you do the same thing with a style like this:

<Style TargetType="map:MapScale" x:Key="S">
     <Setter Property="Stroke" Value="Blue"/>
     <Setter Property="StrokeThickness" Value="2"/>
     <Setter Property="Foreground" Value="Blue"/>
</Style>

<map:MapScale Style="{StaticResource S}"/>

image

you get a blue label, and a line thickness of 2.
But the scale line will not be blue. It will render with the Foreground brush of the enclosing Map object.

I really have no clue on this one. Keep up this splendid work!

MapPolyline disappearing when crossing center of viewport

It appears in WPF that since MapPolyline inherits from MapPath the MapPath.OnViewportChanged does not properly set the longitude offset because the Location object is always null. This can be fixed by using a location that is part of the location collection instead of the Location point which will always be null for a line.
to reproduce add a line in the SampleApps WpfApplication.MapViewModel that crosses the IDL
Locations = LocationCollection.Parse("47.68,200 45,160")

Note that it will always stay on the right side of the viewport and not the left when zoomed out and will disappear when the center of the line crosses the viewport center line.

Multiples TileLayer

is it possible to have two map layers, with transparency on the one above?
for example, a layer for the satellite image and above a layer for the roads?
Thanks.

.netframework version error

Hi, when i try to install xaml.mapcontrol 4.10 to my project by nuget, i get .netframework error, i alredy try 3.0, 4.0, 4.5 and 4.6.1 version of framework.

Polygons with holes

I can't seem to figure out how polygons with holes work. If I declare a MapItem's style using MapMultiPolygon as ControlTemplate (using OSM boundries of the German Federal States), Berlin's area isn't punched out of Brandenburg, instead the color darkens:

  <Style x:Key="PolylinegonStyleLand" TargetType="map:MapItem">
    <Setter Property="Template">
      <Setter.Value>
        <ControlTemplate TargetType="map:MapItem">
          <map:MapMultiPolygon Polygons="{Binding Polies}" Stroke="Red" StrokeThickness="3" StrokeLineJoin="Round" Fill="#30FF0000" IsHitTestVisible="False" FillRule="EvenOdd"/>
        </ControlTemplate>
      </Setter.Value>
    </Setter>
  </Style>

(Fill is a little tranparent)
Brandenburg clearly has a hole: https://wambachers-osm.website/boundaries/, search for 62504.
That's where I got the polygons from, I only use a Douglas-Peucker-reduction with different reductions for each zoom level. And an exclusion of off page features on the fly on Zoom and Pan changes. I've added a FillRule DependencyProperty to the MapMultiPolygon, passing it to the PathGeometry - no success.
I'm close to reimplementing MapMultiPolygon, MapPolygon and MapPolyline using DrawingVisual - using full featured Shape-objects to display hundreds of boundries (2,4,5,6,8)

Can't update to 4.11.0

Using NuGet, I can't update into a .Net 4.6.2 project - I think it is because the dependency information is missing

Orthographic Projection

Hey, I was playing with your project and it has been a very awesome experience. The work you have done here is brilliant.

While playing around with the control I have noticed that you have have the orthographic projection working. However none of the tileservers that you have put in by default, or that I have added in will work with that projection. Do you know where I can find images that will work for that projection? I am sorry if this bothersome but my googlep-fu is letting me down right now.

Thanks

Matt

Point name binding problem?

Trying following code which was in previous version, name of the point doesn't changes

var timer = new DispatcherTimer
{
	Interval = TimeSpan.FromSeconds(0.1)
};

timer.Tick += (s, e) =>
{
	var p = Points.Last();

	p.Location = new Location(p.Location.Latitude + 0.001, p.Location.Longitude + 0.002);

	p.Name = new Random().Next().ToString();

	if (p.Location.Latitude > 54)
	{
		p.Name = "Stopped";
		((DispatcherTimer)s).Stop();
	}
};

timer.Start();

Map Tiles sqlite DB

Do you know where royalty free Sqlite Db of satellite map tiles can be found?
Either Free or Purchased.
Thank you.

Can't not show the WMS server cause of exception when loading image

when i try to load WMS (http://mapservice.region-frankfurt.de/arcgis/services/Regionalverband/regfnp_hauptkarte_planstand_wms/MapServer/WmsServer?request=GetCapabilities&service=wms&version=1.3.0)
the map is totally white. when i debug, i found that, have exception when load image.

System.NotSupportedException: No imaging component suitable to complete this operation was found. ---> System.Runtime.InteropServices.COMException: The component cannot be found. (Exception from HRESULT: 0x88982F50)
   --- End of inner exception stack trace ---
   at MS.Internal.HRESULT.Check(Int32 hr)
   at System.Windows.Media.Imaging.BitmapDecoder.SetupDecoderFromUriOrStream(Uri uri, Stream stream, BitmapCacheOption cacheOption, Guid& clsId, Boolean& isOriginalWritable, Stream& uriStream, UnmanagedMemoryStream& unmanagedMemoryStream, SafeFileHandle& safeFilehandle)
   at System.Windows.Media.Imaging.BitmapDecoder.CreateFromUriOrStream(Uri baseUri, Uri uri, Stream stream, BitmapCreateOptions createOptions, BitmapCacheOption cacheOption, RequestCachePolicy uriCachePolicy, Boolean insertInDecoderCache)
   at System.Windows.Media.Imaging.BitmapImage.FinalizeCreation()
   at System.Windows.Media.Imaging.BitmapImage.EndInit()

System.Runtime.InteropServices.COMException

I get this error occasionally and it causes the APP to crash.

UWP - Win 10 Pro 1803 (17134)
Visual Studio Pro 2019
XAML.MapControl 4.12.1

System.Runtime.InteropServices.COMException: 'Error HRESULT E_FAIL has been returned from a call to a COM component.' bin\x64\Release\AppX\MapControl.UWP.dll

StackTrace
" at Windows.UI.Xaml.UIElement.Arrange(Rect finalRect)\r\n at MapControl.MapPanel.ArrangeElementWithLocation(FrameworkElement element, MapBase parentMap, Location location)"

I'm having a difficult time pinpointing what might be causing this.
Do you have any idea what may be causing this?

Thanks!

Complex DataTemplate

Hi,
I create MapItems from a collection but I need to create a DataTemplate with an item with a Polygon and Image as on Image... how to do this ?

test

Ps. Circle grow but not Image ...

Thanks for your excellent Map Control !

Implementation of transversal mercator projection (Gauss Krueger)

Hello. Thank you for this awesome library
I couldn´t find a existing Projections for Gauss Krueger. (Transversal Mercator Projection), so I tried to implement it by myself. I was able to transform the location to points and the points to locations to implement the projection. (I inherited from MapProjection.)
The two methods

  • public abstract Point LocationToPoint(Location location);
  • public abstract Location PointToLocation(Point point);
    Should be no problem with the help of NetTopology and Proj4NetGeoAPI

But I couldn´t understand the exact purpose of the following method. I tried for a whole day but couldn´t make it work. I would like to override an WMS Layer to use Gauss Krueger projection.

public abstract Vector GetMapScale(Location location);

Can you tell me about this method or where I could get some documentation about this?

How to calculate units per meter

Good morning, In MapProjection.cs, there is a block of codes:

/// <summary
/// Gets the map scale at the specified Location as viewport coordinate units per meter (px/m).
///
public virtual Vector GetMapScale(Location location)
{
return new Vector(ViewportScale, ViewportScale);
}

How can I get ground resolution of WMS from this block of codes?

How to style a polyline with data trigger?

Hi,

I am trying to let my user klick on a polyline and then highlight it (change stroke color) to visualize selection state.
The polyline draws perfectly, the mouse event fires and sets a IsSelected property in my view model.
But I am not able to change the polyline appearance when IsSelect is set to true.

<Style x:Key="LinesStyle" TargetType="mapControl:MapItem">
  <Setter Property="Template">
      <Setter.Value>
          <ControlTemplate TargetType="mapControl:MapItem">
              <mapControl:MapPolyline Locations="{Binding StartEndLocations}"
                                      Visibility="{Binding IsVisibleInNetworkplan, Converter={StaticResource BoolToVisibilityConverter}}"
                                      Stroke="{Binding ActiveEndViewModel.Port, Converter={StaticResource DcPortToBrushConverter}, FallbackValue=Black}"
                                      StrokeThickness="4" MouseLeftButtonUp="OnSegmentClicked" 
                                      x:Name="Segment">
                  <mapControl:MapPolyline.Style>
                      <Style TargetType="mapControl:MapPolyline">
                          <Style.Triggers>
                              <DataTrigger Binding="{Binding IsSelected}" Value="True">
                                  <Setter Property="Stroke" Value="Red"></Setter>
                              </DataTrigger>
                          </Style.Triggers>
                      </Style>
                  </mapControl:MapPolyline.Style>
              </mapControl:MapPolyline>
          </ControlTemplate>
      </Setter.Value>
  </Setter>
</Style>
<mapControl:Map Name="_map">
  <mapControl:MapItemsControl ItemsSource="{Binding SegmentViewModels}"
                              ItemContainerStyle="{StaticResource LinesStyle}" />
  <!--ItemTemplate="{StaticResource LinesTemplate}"-->

It does not make any difference if I use the ItemTemplate or ItemContainerStyle. Neither seems to apply the style.

Do you have any hints for styling the polyline with data trigger (for showig the selection state)?

Thanks for the great work!
debgz

Zoom to view all items?

Hello,
first off: thanks for a great control! Easy to use, and it has always just worked.
A question: is it possible to make the map zoom in a way so that a given range of GPS coordinates will become visible?
Thank you!
Greets, Menno

Map Item Location

It puts the Map Item in the center of the window.
When zooming and panning It does not move with the map.

<DataTemplate     x:Name="SmallPin">
            <Grid
                    Width="150"
                    Height="110"
                    x:Name="PinGrid"
                                      
                    Tapped="Grid_Tapped"
                    Tag="{Binding ID}">

                <Polygon
                        Points="0,80  150,80  150,100  90,100  75,110  60,100  0,100"
                        Stroke="{Binding TextColor}"
                        StrokeThickness="1">
                    <Polygon.Fill>
                        <SolidColorBrush
                                Color="{Binding Color}"
                                Opacity="0.7" />
                    </Polygon.Fill>
                </Polygon>

                <Viewbox
                        Height="15"
                        Width="150"
                        Margin="0,80,0,0"
                        VerticalAlignment="Top">

                    <TextBlock
                            x:Name="textBlock"
                            TextWrapping="NoWrap"
                            Foreground="{Binding TextColor}"
                            FontSize="20"
                            Text="{Binding Name}"
                            VerticalAlignment="Top"
                            HorizontalAlignment="Center" />

                </Viewbox>
            </Grid>
        </DataTemplate>



<map:MapItemsControl
                    x:Name="mapItems"
                    ItemTemplate="{StaticResource SmallPin}">
                <Style
                        TargetType="map:MapItem">
                    <Setter
                            Property="local:BindingHelper.LocationPath"    (Tried this)
                            Property="map:MapPanel.Location"                  (and this)
                            Value="{Binding Location}" />
                </Style>
            </map:MapItemsControl>

image

UIElement size

image

I need to implement mouse event on MapPanel but UIElement do not cover all ellipse geometry. X and Y start on middle of ellipse.... if I add Fill="Strech" to Path then ellipse middle is not longer to Location.

Thanks.

MBTiles

Hi,
I'm trying to realize a project using a provided MB tiles files as source for a WPF Map Application.
Could you maybe provide a small howto/example how i can load the data from the file?

Thank's!

XAML Map Control disables Fluent Design Blur

Problem

I have followed the tutorial in this StackOverflow answer to enable Acrylic Accent background for my UWP app:
https://stackoverflow.com/questions/43699256/how-to-use-acrylic-accent-in-windows-10-creators-update

Unfortunately, when I placed the XAML Map Control on the page, the blur on the background disappeared and was replaced by solid color.

Expected behavior

Blur should stay active even when XAML Map Control is on the page. I have verified the problem does not occur when the built-in Map control is on the page.

Polylines stutter on map move with higher zoom rate

Hi Clemens,
when using a zoom level >20 there's a significant lack in precision where the polylines are drawn. On map move the Polylines seem to stutter then. Do you have any hint how to make the drawing more precise?
Best regards!
Florian

MapProjection.ViewportTransform resolution issuein UWP MapControl sample

When using the UWP sample app to zoom in to Fukushima (Japan), the MapGraticule rendering is jerky when panning the map at max zoom level.

The problem here is the resolution of the MapProjection.ViewportTransform matrix. Somehow it's values are converted to floats instead of doubles.

I solved this problem in my project by having an extra copy of the render transform matrix: MapProjection.ViewportTransformMatrix. In the function MapProjection.SetViewportTransform() you need a LocationToPointD() function too, which returns a PointD (based on doubles). Likes this:

public virtual void SetViewportTransform(Location projectionCenter, Location mapCenter, Point viewportCenter, double zoomLevel, double heading) { ViewportScale = GetViewportScale(zoomLevel); PointD center = LocationToPointD(mapCenter); ViewportTransformMatrix = MatrixEx.TranslateScaleRotateTranslate( -center.X, -center.Y, ViewportScale, -ViewportScale, heading, viewportCenter.X, viewportCenter.Y); ViewportTransform.Matrix = ViewportTransformMatrix; }
Then I needed a double Matrix transform function:

public Point LocationToViewportPointD(Location location) { Point p = LocationToPoint(location); return new Point(ViewportTransformMatrix.M11 * p.X + ViewportTransformMatrix.M12 * p.Y + ViewportTransformMatrix.OffsetX, ViewportTransformMatrix.M21 * p.X + ViewportTransformMatrix.M22 * p.Y + ViewportTransformMatrix.OffsetY); }
This function is used to position the labels in the MapGraticule. The graticule lines are transformed as needed by using this function without the use of geometry.Transform. Now the Graticule lines need to be rendered every time on OnViewportChanged().

To remove to jerkiness in the rendering of my own data I use own transform functions which make use of the MapProjection.ViewportTransformMatrix.

Hope I could have helped you in making this map control better.

issue on wmsImageLayer.cs

First of all thanks a lot Clemens for your magnificent work.
Using wms layers i've noticed that in case of wms services that includes a "?", like this service:
http://wms.pcn.minambiente.it/ogc?map=/ms_ogc/WMS_v1.3/Vettoriali/Corine_Land_Cover2012_IVliv.map&,
the statement
var uri = new Uri(ServerUri, query.Replace(" ", "%20"));
changes abnormally the original uri address like this:
http://wms.pcn.minambiente.it/&SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&LAYERS=CS.CLC.2012&STYLES=&CRS=EPSG:3857&BBOX=-533469.3125,4043161.5,3539095.4375,6129586.5&WIDTH=1665&HEIGHT=853&FORMAT=image/png&TRANSPARENT=FALSE
Best regards,
F.

Support for XAMARIN

Hi, i am working on a xamarin project, was wondering if there is a compatiple version of this control for xamarin. Could you please help?

How to convert indiamap.osm.pbf file to file DB

Hi,

I am trying to use the map control for offline maps,

I have downloaded a map in osm.pbf format file size is 450 mb.

as after enabling the cache mapcontrol creates a filedb file and stores the map data in filedb. and i can browse that data in offline mode.

so I want to provide my specific data in filedb format.

I searched a lot but didn't found any utility to convert osm.pbf data in filedb.

how can I do that.

cache for offline use

Hi,
I update XAML-mapcontrol from version 4.16.0 to 5.1.0.
After the update i can't use the cached tiles when offline. The map does not load the cached tiles anymore when offline.
Don't know if this is a bug or that i need to change caching options? It works all fine when online.

there are pngs file present in the ~ProgramData\MapControl\TileCache\OpenStreetMap{zoom}{x}{y}.png

ImageLoader.HttpClient.DefaultRequestHeaders.Add("User-Agent", "Meep");
TileImageLoader.Cache = new MapControl.Caching.ImageFileCache(TileImageLoader.DefaultCacheFolder);

WPF .NET Framework 4.8
XAML Mapcontrol V5.1.0

Is there a contribution policy?

Is the project open to contributions? If so, what are the most needed areas?

I have just stumbled into the project because I was planning to start a virtually identical one. I have also took a look at the BingMaps for WPF implementation and found it very tangled. Yours seems to be way simpler, more decoupled, more reusable, and more extensible, and of course open.

I'd be glad if I could contribute somehow, but i'm not sure what I could do that would be useful.

Change map color

I want to change the color of map, I have created my tileserver and with leaflet.js I can add world.geo.json(https://github.com/johan/world.geo.json/tree/master/countries ) and can change the color, how can I achieve that same in xml map control,

issue I am having is when I print xml map control in black and white format the print quality is very bad, and when I print with leaflet.js with geo.json print quality is good in black & white format because I can manage the color.

Bing map cache

Hi, when i offline bingmap not showing images from cache.

GeoApiProjection convert point is not accuaccy when showing on google map

i am using GeoApiProjection to showing a Weibadem WMS. it support EPSG:25832, so i using its WKT.
when i take a point in a WMS, it is converted it to coordinate in WGS84. and i using that coordinate to show in google map, it have some different. which can feel by eyes when zoom to 20m in google map

How to show OrthoLayer + OverlayLayer?

Hi!

First of all: Thanks for your great work!!!

Now to my problem: I´m using basemap.at as map source and they provide some different types of maps. There are e.g. the Basemap, the BasemapOrtho, the BasemapOverlay and some others.

What I want to accomplish is, that as "background layer" the BasemapOrtho is used (this works right now; see layer definitions below). So a beautiful, fast and free map is shown. But I need to show streets and house numbers on top of the map -> that´s the BasemapOverlay. So actually I want to show 2 layers on top of each other.

In the end I want to be able to select the following maps in my application:

  1. Basemap
  2. BasemapOrtho (without street names and house numbers)
  3. BasemapOrtho + BasemapOverlay (= "Full Map")

Please help me to accomplish this. Thanks in advance.

Best regards
Jochen

Here you can find the full capabilities of basemap.at: https://www.basemap.at/wmts/1.0.0/WMTSCapabilities.xml

A working web sample you can find here: https://www.basemap.at/application/index.html#{"center":[1598143.6886957795,6150084.137188095],"zoom":19,"rotation":0,"layers":"10000000"}

Here are the definitions of the mentioned layers:
{
"Basemap",
new MapTileLayer
{
SourceName = "Basemap",
Description = "© basemap.at",
TileSource = new TileSource { UriFormat = "https://maps.wien.gv.at/basemap/geolandbasemap/normal/google3857/{z}/{y}/{x}.png" },
MaxZoomLevel = 20
}
},
{
"BasemapOrtho",
new MapTileLayer
{
SourceName = "BasemapOrtho",
Description = "© basemap.at",
TileSource = new TileSource { UriFormat = "https://maps1.wien.gv.at/basemap/bmaporthofoto30cm/normal/google3857/{z}/{y}/{x}.jpg" },
MaxZoomLevel = 20
}
},
{
"BasemapOverlay",
new MapTileLayer
{
SourceName = "BasemapOverlay",
Description = "© basemap.at",
TileSource = new TileSource { UriFormat = "https://maps.wien.gv.at/basemap/bmapoverlay/normal/google3857/{z}/{y}/{x}.png" },
MaxZoomLevel = 20
}
}

MapShape Data property isn't "public"

Hello,

Following the answer here, I've just upgraded to the latest version, and I think that currently MapShape's Data is "protected", so anything relying on the obsolete MapPath (where Data was public) stopped working.

Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.