Giter VIP home page Giter VIP logo

mapsui's Introduction

Mapsui (pronounced map-su-wii)

Mapsui is a map component for apps built with: MAUI, WPF, Avalonia, Uno, Blazor, WinUI, Eto, .NET Android and .NET iOS.

Quick Start

Below is a table with the nuget packages for all the supported UI frameworks. The right most column has a link to the guickstart.

Samples

After going through the guickstart you should look into the samples. All samples work the same on all platforms. You can view online samples presented in Blazor here. Each sample has an accompaning 'source code' tab you can use to build your own version.

Documentation

The documentation can be found at mapsui.com.

UI Framework Nugets

Package Version Downloads Quickstart Guide
Mapsui.Maui NuGet Status NuGet MAUI
Mapsui.Wpf NuGet Status NuGet WPF
Mapsui.Avalonia NuGet Status NuGet Avalonia
Mapsui.Avalonia.V0 NuGet Status NuGet Avalonia.V0
Mapsui.Uno.WinUI NuGet Status NuGet Uno.WinUI
Mapsui.Uno NuGet Status NuGet Uno
Mapsui.Blazor NuGet Status NuGet Blazor
Mapsui.WinUI NuGet Status NuGet WinUI
Mapsui.Forms NuGet Status NuGet Xamarin Forms
Mapsui.Android NuGet Status NuGet Android
Mapsui.iOS NuGet Status NuGet iOS
Mapsui.Eto NuGet Status NuGet Eto

Core Nugets

Package Version Downloads
Mapsui NuGet Status NuGet
Mapsui.Nts NuGet Status NuGet
Mapsui.Tiling NuGet Status NuGet
Mapsui.Rendering.Skia NuGet Status NuGet
Mapsui.ArcGIS NuGet Status NuGet
Mapsui.Extensions NuGet Status NuGet

Build Status

platform status
Build code Build status
Build docs Build status

Community

How can I help as a user

  • Write clear issues. Mention the Mapsui version and which platform you use.
  • Use screenshots and capture gif animations for issues that are hard to explain.
  • Create minimal reproducible samples if possible. This speeds up fixing the issue a lot.
  • Make yourself heard. We need to know what you are struggling with. Sure, you need to be respectful but don't be too modest.
  • You can vote on issues by adding a thumbs up on the first post of the issue.
  • Close an issue if your question is answered.

Contributing

See the guidelines

Thanks go to

  • The developers of SharpMap from which this project was born.
  • The contributors to NTS and BruTile, components that we depend on.
  • SkiaSharp which we use for all our rendering.
  • Our users. Do not underestimate the value of good bug reports and tests.
  • realinfo for providing the logo
  • Our fantastic contributors!

Made with contrib.rocks.

License

MIT

Mapsui

mapsui's People

Contributors

bertt avatar cas2406 avatar cecildelakers avatar charlenni avatar dirkdokter avatar drwatson1 avatar ejkani avatar eriove avatar galadril avatar geodirk avatar inforithmics avatar janusw avatar jasells avatar jbou avatar joecooper avatar johnpudd avatar kwesolowski avatar liklainy avatar lumberjack4 avatar nbusseneau avatar pauldendulk avatar pauldendulkgeodan avatar radderz avatar rafntor avatar reallinfo avatar ruzanowski avatar scottdewald avatar sebastian1989101 avatar tebben avatar tmijieux 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  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

mapsui's Issues

Marker features does not work under Android

Just compiled the android sample and tried just to add this row to the original code

mapControl.Map.Layers.Add( PointLayerSample.CreateRandomPointLayerWithLabel( new MemoryProvider( new Point( 10, 10 ) ) ) );

it result immediately on the run an "System.NotImplementedException: The method or operation is not implemented." in Mapsui.Rendering.OpenTK in PlatformLabelBitmap.cs

Probably it is an issue related to the libraries, please - note which libraries You are using into the samples for android. ( currently I am using the nuget version of MapsUI )

is there some specific source for OpenTK which i shall use for Android ?.

TileFetcher Race Condition

The _retries dictionary needs to be locked before it is accessed since it is accessed by multiple threads. An exception can be thrown at line 179 when it checks if a value is in the dictionary and then adds it. In between this check/add, if another thread adds the value this thread will fail when it tries to add it as well.

ViewChangedEventArgs does not contain information on whether the change is complete

WPF. I'm trying to create a tool for the history of user movements on the map. The tool is signed up for an event ViewChanged of MapControl. But this event raising too much times while viewing the map and ViewChangedEventArgs does not contain information on whether the change is complete, such as method ViewChanged(bool changeEnd) of Map. It would be very nice if in the event there is a new property, announces the completion of changes or new event that raises at the end of changes.

a suggestion to the MapControl.cs

I found a rare bug ( maybe ) which occur when You transit from the map Activity to another activity trough creating an Intent in Android.
Once You finish the work with the new activity and return to the map activity - the screen is darkened, and the map control is dark.
If You touch on it - it resumes work and everything goes normal.
I found that if i force refresh trough call to exposed RefreshGraphics() in MapControl.cs on "protected override void OnPostResume()" in the map activity - the things goes well.
It is probably a lame approach, but it could help to solve the issue.

before: ( Mapsui.UI.Android.MapControl.cs )

        private void RefreshGraphics()
        {
            _refreshGraphics = true;
            Invalidate ();
        }

after: ( Mapsui.UI.Android.MapControl.cs )

        public void RefreshGraphics()
        {
            _refreshGraphics = true;
            Invalidate ();
        }

in Map Activity :

        protected override void OnPostResume()
        {
            base.OnPostResume();
            FindViewById<MapControl>(Resource.Id.mapcontrol).RefreshGraphics();
        }

Use Non-Mercator Projection for Base Map

I have some map images that were created using the WGS84 (EPSG:4326) projection. I see that I can set ILayer.CRS so that geometries will be tranformed appropriately if necessary, but I don't think this will be valid for images as the insides of the images need to be projected accordingly in a non-linear fashion instead of just the vertices.

I was wanting to change my main map and all layers to be EPSG:4326, but it appears the calculations within Mapsui.Viewport make it dependent on a Mercator projection. Is this correct? If not, how do I create a WGS84 viewport?

Thanks

Code Annotations in Mapsui.Geometry

At the moment Mapsui.Geometries does not have access to code annotations. Has any work on it started, or do you have plan to put separate Annotations.cs to Mapsui.Geometries?

Could we make annotations internal, and use [assembly: InternalsVisibleTo("Mapsui.SomeSubProj")] to allow reuse without making annotations public? At the momemt ReSharper keeps suggesting using Mapsui.Annotations (as second option to Jetbrains.Annotations).

Add Portable for Universal Apps so that current W8 code can be reused for WP8.1 (non SL)

With the new WP8.1 platform it is possible to reuse much more code between Windows 8.1 and Windows Phone 8.1. Moving the W8 Rendering and UI to 'Portable for Universial Apps (-UA postfix) this should be possible with little modifications.

I have now added empty projects for this:

  • Mapsui.Rendering.Xaml-UA
  • Mapsui.UI.Xaml-UA

What needs to be done is:

  • Move the W8 code to those projects.
  • Fix the compile errors.
  • Add a sample project for WP81 (I prefer to have no univeral project)
  • Update existing W8 sample to use the new UA projet
  • Remove the W8 projects

MapControl, mouse button up, possibility to control MARGIN

Hi,
I have a suggestion for MapControl interface modification.
I need a possibility to virtually extend the margin that is used to detect left mouse click on a feature in a map.
Is there any reason for โ€ž16โ€œ to magic number? Could it be a property (with public setter) which would have default value of 16?

MapControl:
private MouseInfoEventArgs GetMouseInfoEventArgs(Point mousePosition, IEnumerable layers)

var margin = 16 * Viewport.Resolution;

Rotating viewport changes position of points displayed on map

Steps to reproduce

  1. Run Mapsui.Samples.Wpf
  2. Select "Projected Point" demo
  3. Zoom in to max level and move the map so that the WGS84 point is visible:
    mapsui_before
  4. Rotate map using slider in the lower left corner

Actual outcome
The point changes its position, relative to map (i.e. streets, houses etc) - see the picture:
mapsui_after

Expected outcome
The point should stay in the same place, relative to map.

Comments
I noticed that after performing full rotation, the point is again at the same point as before rotationg. I tried finding the cause of this behaviour, but without success...

Map settings are created with:

MapControl.Map.Transformation = new MinimalTransformation();
MapControl.Map.CRS = "EPSG:3857";

and point layer is created by this code:

return new Layer
            {
                DataSource = new MemoryProvider(new Point(4.643331, 52.433489)) { CRS = "EPSG:4326" },
                Name = "WGS84 Point"
            };

iOS LineStringSample

I've noticed a bug with the LineString sample when using iOS. The bug draws a black background on the whole region that lines cross. Image below will demonstrate the issue.

screen shot 2015-07-16 at 14 36 53

Relevant code (taken from samples)

public void AddLineString()
{
    var style = new VectorStyle
    {
        Fill = null,
        Outline = null,
        Line = { Color = Mapsui.Styles.Color.Red, Width = 4 }
    };

    mapControl.Map.Layers.Add (CreateLineStringLayer (style));
}
public static ILayer CreateLineStringLayer(IStyle style = null)
{
    return new MemoryLayer
    {
        DataSource = new MemoryProvider(
            new[] { new LineString(new[]
                {
                    new Mapsui.Geometries.Point(0, 0), 
                    new Mapsui.Geometries.Point(10000, 10000),
                    new Mapsui.Geometries.Point(10000, 0),
                    new Mapsui.Geometries.Point(0, 10000),
                    new Mapsui.Geometries.Point(100000, 100000),
                    new Mapsui.Geometries.Point(100000, 0),
                    new Mapsui.Geometries.Point(0, 100000),
                    new Mapsui.Geometries.Point(1000000, 1000000),
                    new Mapsui.Geometries.Point(1000000, 0),
                    new Mapsui.Geometries.Point(0, 1000000),
                    new Mapsui.Geometries.Point(10000000, 10000000),
                    new Mapsui.Geometries.Point(10000000, 0),
                    new Mapsui.Geometries.Point(0, 10000000)
                }
            )}
        ),
        Name = "LineStringLayer",
        Style = style
    };
}

Map not updating when adding a new layer

Using mapsui with Xamarin for Android/iOS I came across the problem that the map does not update when adding/removing layers, nor do I seem to find a solution to update it manually.

I'm having a custom class which inherits from the ITileSource interface, the layer is not shown until I zoom/pan the map.

a suggestion to the PointRenderer

using Android.Graphics;
using Mapsui.Providers;
using Mapsui.Styles;
using Point = Mapsui.Geometries.Point;
using Mapsui.Rendering.Android.ExtensionMethods;
using Bitmap = Android.Graphics.Bitmap;

namespace Mapsui.Rendering.Android
{
    static class PointRenderer
    {
        public static void Draw(Canvas canvas, IViewport viewport, IStyle style, IFeature feature)
        {
            var point = feature.Geometry as Point;
            var dest = viewport.WorldToScreen(point);
            var symbolSize = (float)SymbolStyle.DefaultHeight;
            var symbolType = SymbolType.Ellipse;

            var symbolStyle = style as SymbolStyle;
            if( (symbolStyle != null) && ( symbolType == SymbolType.Image ) )
            {
                if (symbolStyle.BitmapId >= 0)
                {
                    // Bitmap
                    if (!feature.RenderedGeometry.ContainsKey(style))
                        feature.RenderedGeometry[style] = 
                            BitmapFactory.DecodeStream(BitmapRegistry.Instance.Get(symbolStyle.BitmapId));
                    var bitmap = (Bitmap)feature.RenderedGeometry[style];
                    var halfWidth = bitmap.Width / 2;
                    var halfHeight = bitmap.Height / 2;
                    var dstRectForRender = new RectF((float)dest.X - halfWidth, (float)dest.Y - halfHeight, (float)dest.X + halfWidth, (float)dest.Y + halfHeight);
                    canvas.DrawBitmap(bitmap, null, dstRectForRender, null);
                    return;
                }
                symbolType = symbolStyle.SymbolType;
                if (symbolStyle.SymbolScale > 0) symbolSize = (float)symbolStyle.SymbolScale * symbolSize;
            }
            else
            {

                 // Drawing
                 var paints = style.ToAndroid();
                 if (symbolType == SymbolType.Ellipse)
                 {
                     foreach (var paint in paints)
                     {
                         canvas.DrawCircle((int)dest.X, (int)dest.Y, symbolSize, paint);
                         paint.Dispose();
                     }
                 }
                 else
                 {
                     foreach (var paint in paints)
                     {
                         canvas.DrawRect(-(float)SymbolStyle.DefaultWidth, (float)SymbolStyle.DefaultHeight, (float)SymbolStyle.DefaultWidth, -(float)SymbolStyle.DefaultHeight, paint);
                         paint.Dispose();
                     }
                 }
            }
        }
    }
}

How to set MapControl background to Transparent?

I tried to set the MapControl background to Transparent but without success...

Accordingly to this solution http://stackoverflow.com/questions/30787349/make-androidgameview-transparent
I set the AndroidGameView to transparent:

mapControl.SetZOrderOnTop(true);
mapControl.Holder.SetFormat(Format.Transparent);

But that was not enough, because the background is drawn by the MapControl itself...

So I had a look at the source code:
https://github.com/pauldendulk/Mapsui/blob/8b4ede5a555c5b137d6cdbce96a5d8d5191346de/Mapsui.UI.Android/MapControl.cs#L264

And tried to set the Alpha to 0 too...

mapControl.Map.BackColor.A = 0;

but the Alpha doesn't seems to be taken into account.

Does anyone have a solution to set MapControl to transparent?

Faster polygon rendering

The multi polygon has about 2870 nodes. Rendering is very slow and the UI (panning, zooming) stops working. Platform Mapsui Windows 8 Store App.

Points in raterizing layer

MapRenderer in Mapsui.Rendering.Xaml allows to draw points without images, just colored circles. GdiMapRenderer needs Bitmap to draw Point. How can I fix it?

How to Create a Blank Layer (Blank Provider)?

Hi I want to create a blank map but with a valid return of coordinates
with WorldToScreen or ScreenToWorld

I want this extents and ESRI Code

    private const double DEFAULT_X_MIN = -180;
    private const double DEFAULT_X_MAX =  180;
    private const double DEFAULT_Y_MIN = -90;
    private const double DEFAULT_Y_MAX =  90;
    private const int WGSG84_ESRI_CODE = 4326;

This could be possible??

Android build issue with version 0.3.0

After upgrading to the newest NuGet package I've come across an issue with building Android in Xamarin. I can't build the application due to a missing assembly Mapsui.Rendering.OpenTK. I tried referencing to OpenTK but nothing changes the build issue. Full error:

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets: Error: Exception while loading assemblies: System.IO.FileNotFoundException: Could not load assembly 'Mapsui.Rendering.OpenTK, Version=0.3.0.0, Culture=neutral, PublicKeyToken='. Perhaps it doesn't exist in the Mono for Android profile?
File name: 'Mapsui.Rendering.OpenTK.dll'
  at Xamarin.Android.Tuner.DirectoryAssemblyResolver.Resolve (Mono.Cecil.AssemblyNameReference reference, Mono.Cecil.ReaderParameters parameters) [0x00000] in <filename unknown>:0 
  at Xamarin.Android.Tuner.DirectoryAssemblyResolver.Resolve (Mono.Cecil.AssemblyNameReference reference) [0x00000] in <filename unknown>:0 
  at Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences (ICollection`1 assemblies, Mono.Cecil.AssemblyDefinition assembly, Boolean topLevel) [0x00000] in <filename unknown>:0 
  at Xamarin.Android.Tasks.ResolveAssemblies.Execute () [0x00000] in <filename unknown>:0

LineString disappears

Hi,
I found a route by Windows.Services.Maps.MapRouteFinder and put coordinates of points to Feature with LineString. When I add layer with LineString, almost everything was ok. But when resolution is smaller than 7, path just disappears.
Thank you

MbTiles hangs up

Hi,
I'm trying to load a quite big mbtiles file (500MB) generated by tilemill into a map.
For this I'm using a MbTilesTileSource.
Loading the source goes quite well but if I add a new Tilelayer to the map containing the MbTilesTileSource the app hangs up.
I'm using MapUi on Windows WPF...
Would be nice if someone could help me. :)
Thanks!

iOS is referencing System.ServiceModel

I have an issue which seems to be mostly related to Xamarin, but I wonder what's causing it. Mapsui is referencing System.ServiceModel assembly, but only on iOS. The System.ServiceModel is part of Windows Communication Foundation (WCF) which requires higher licenses on Xamarin. I've tried to backtrack the origin of the reference but couldn't find anything. It suprises me that iOS requires this while Android builds fine without the reference.

Other projects came across the same issue (mvvmcross, xlabs) and resolved it by removing the reference or changing PCL profile.

https://github.com/XLabs/Xamarin-Forms-Labs/issues/336
MvvmCross/MvvmCross#394

When looking through the System.ServiceModel namespace (http://msdn.microsoft.com/en-us/library/system.servicemodel.aspx) I don't see anything that seems required in Mapsui. Any idea what's causing this reference?

changing geometry won't update rendered features since last version of XamlRendering

Hi
For example, take a MemoryProvider with LineString geometry.
Add it to the map and let it render.
Then add a Point or change the coordinates of a existing in the linestring.
The rendered geometry won't update.
I guess the Problem probably lies within the MapRenderer (XamlRendering) in the RenderFeature method:
var renderedGeometry = feature.RenderedGeometry.ContainsKey(style) ? feature.RenderedGeometry[style] as UIElement : null;
if (renderedGeometry == null)
{
renderedGeometry = RenderGeometry(viewport, style, feature);
feature.RenderedGeometry[style] = renderedGeometry;
}
else
{
PositionGeometry(renderedGeometry, viewport, style, feature);
}
If the rendered geometry is not null, you only update the Position, but not any given changed data.
This problem must be relatively new, it worked before updating to the latest sources recently.

thanks for reporting and for diagnosing the problem. RenderedGeometry is used as a performance optimization but I had not thought of this scenario.

A workaround could be to call feature.RenderedGeometry.Clear() after the geometry is edited. I have to think about a proper solution.
philjay wrote Apr 12, 2013 at 10:33 AM [x]

There's another Problem with PositionGeometry.
When you zoom in, the Polygons get very blurry, when you zoom in too much, the polygon dissapears completely(this is even a Problem when using RenderGeometry). LineStrings won't be dsplayed at all using PositionGeometry.
pauldendulk wrote Apr 12, 2013 at 4:47 PM [x]

I created a new issue for that. Perhaps you can clarify there:
https://mapsui.codeplex.com/workitem/9195

Does the workaround work in your case?
philjay wrote Apr 12, 2013 at 9:38 PM [x]

Yes, I remove the RenderedGeometry to get the LineStrings updated. But since it has those blur problems, I hacked the renderer to always re-render LineStrings.

Whitish maps

I am currently running over a really strange issue while trying the Android demo app.
The maps is all white.
( Android 5.1.1 / Huawei Honor X2 phone )

What could be causing this issue ?
screenshot_2015-12-20-02-00-30
screenshot_2015-12-20-02-00-44

Mapsui.Samples.Android cannot compile with Xamarin Studio

Mapsui.Samples.Android cannot compile with Xamarin Studio, with showing this error:

/Users/kokogiko/Projects/Mapsui/Samples/Mapsui.Samples.Android/Properties/AndroidManifest.xml: Warning XA0101: @(Content) build action is not supported (XA0101) (Mapsui.Samples.Android)

How can I solve this problem?

Setting max extent/zoom

Is there a proper way of limiting the boundaries of a map? I've been looking for ways to set the min and max zoom level that the user can scroll to. Currently users can zoom in and out for an unlimited amount.

Looking at the mapsui example used by brutile (http://brutiledemo.appspot.com/) the zoomlevel is limited until street level and also the min zoom is limited. The only approach I found now is hooking up to the Resolution propertychanged event of the mapcontrol:

Basemap.Map.PropertyChanged += (object sender, System.ComponentModel.PropertyChangedEventArgs w) => 
{
    if (w.PropertyName == "Resolution"){

        NotifyingViewport vw = (NotifyingViewport) sender;
        if (vw.Resolution > 20000)
        {
            vw.Resolution = 20000;
        }

        // TODO min resolution
    }
};

I assume this is not the proper way?

Another limitation that would be interesting is setting the max extent too (so users can't scroll of the map at the sides). Currently I'm not getting further than hooking up to the touch event of the mapcontrol which works very bugged (as I'm restoring view after scrolling of the side instead limiting it before)

Basemap.Touch += (object sender, TouchEventArgs h) => {
    BoundingBox world = Basemap.Map.Envelope;
    BoundingBox view = Basemap.Map.Viewport.Extent;

    if (view.Left < world.Left){
        double diff = world.Left - view.Left;
        Basemap.Map.Viewport.Center.X += diff;
    }
    if (view.Right > world.Right){
        double diff = view.Right - world.Right;
        Basemap.Map.Viewport.Center.X -= diff;
    }
    if (view.Top > world.Top){
        double diff = world.Top - view.Top;
        Basemap.Map.Viewport.Center.Y += diff;
    }
    if (view.Bottom < world.Bottom){
        double diff = view.Bottom - world.Bottom;
        Basemap.Map.Viewport.Center.Y -= diff;
    }
};

Rename ILayer.LayerName to Name

The 'Layer' in LayerName is somewhat redundant because it is a member of ILayer.

Unfortunately this is a breaking change that most users will notice.

Multitouch-rotation function in iOS/Android

Hello, I want to ask specification of Mapsui in iOS/Android.

Does mapsui have, or can be hack, to handle map to rotate by multi-touch?
In iOS and Android.

I can't find such property in MapControl class...

Zoom to extent

I'm stuck in a project where I need to zoom to a specific extent. I have a boundingbox but it seems that I'm only allowed to zoom to a specific center/resolution, the extent/viewport seem to be access only. How can I implement zooming to a specific bounding box?

Mapsui.Sample.iOS needs Xamarin.Business

Hello.

I'm Xamarin Indie user, and I try to compile Mapsui.Sample.iOS, it shows

"Your app is using an assembly that requires Xamarin.iOS Business edition or higher."
"Your app is using the assembly 'System.ServiceModel.Web'."

Is System.ServiceModel.Web needed for iOS project?
If not so, please remove dependency for it, to compile with Indie edition.

request for a sample

I am somehow unable to create a working application.
My aim currently is to create a marker which having some label on top of it, and be able to move it ( if possible without destruction of the original ).
something as follow :
marker-43n

Please - add if possible some simple working example for Android / iOS providing such functionality.

Remove all NotImplementedExceptions from the geometries

Just wanted to check if a Polygon intersects a BoundingBox to find out that all of the intersects methods throw NotImplementedException.
Any plans to implement the methods for all of the Geometries, or can you recommend another library I could reference to do those more and less complex collision-checks?
comments

pauldendulk wrote Apr 19, 2013 at 3:06 PM [x]

This is long standing issue inherited from from the original SharpMap version it was ported from. They should be either implemented or removed.

You could try to use NTS for this:
http://nettopologysuite.googlecode.com/svn/trunk/
You need to convert the geometries though. And I think NTS supports only desktop and Silverlight. Hopefully it could be ported to PCL someday.
pauldendulk wrote Apr 21 at 10:20 PM [x]

There is now a PCL version of NTS. The plan is to replace the current geometries with NTS.

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.