Surface offline maps - c#

I'm developing Surface application, but I came across a problem. I need to develop a control with next abilities:
World map on background (should display only continents).
I need a way to find out on which continent user touched(interactive background map).
Any controls can be added on the top of the map control (for an example video-player control for different regions of the map).
Map control should works in offline mode only (without any
connection to internet).
I can't find any frameworks that would meet my goals.
So, anyone know something projects/code samples that can help me to achieve my goals

Offline mapping could be done in many ways, one of them would be download / get shapefile for continents. (You can search for that). Later you can use SharpMap to display that shapefile in WPF application. SharpMap is a .Net framework based open source application which enables reading multiple geospatial formats.
Another option to read geo-spatial data is DotSpatial.

Related

Does arcgis Map api supports for cluster locations in UWP windows application?

I have gone through that arcgis map documentation i have an requirement cluster wise displaying my location on map. Does this possible in C# UWP mobile application Please share me code related to this.
The ArcGIS Runtime doesn't support clustering out of the box at this time. You could probably build something yourself using GraphicsOverlays, by grouping features near by each other based on the current MapView.UnitsPerPixel value (ie split the view into 100x100px blocks, calculate how many would fall into each group, then render a graphic in each block that has one or more. Once a zoom is complete (NavigationCompleted event), if the UnitsPerPixel value changed enough beyond some threshold recalculate your clusters.

WPF C# runtime graphical editor on form. Easiest solution

I am trying to find a solution to creating a graphical designer that will allow users to modify objects using a graphical editor in runtime.
The idea is to create a type of network diagram that displays how network devices are connected. I would like a user to connect objects together on here and allow the diagram to display connection arrows that are automatically drawn based on the number of connections etc.
I would like configuation in my editor to be saved in my database and I am using Entity Framework. So I will probably add rows for each object and reference a child object's ID to show that it has something connected to it.
This is what I was thinking:
What would be the least time consuming (easiest) way to achieve this? Is there a framework or API available that someone could suggest?
There's a series of codeproject articles could be interesting to get you started:
https://www.codeproject.com/Articles/22952/WPF-Diagram-Designer-Part
https://www.codeproject.com/Articles/24681/WPF-Diagram-Designer-Part-4
( I've not tried the code or looked at it in depth. )

Bing Maps WPF control in OFFLINE mode (MercatorMode)

We are investigating the potential use of Bing Maps WPF control in OFFLINE mode (which will be called MercatorMode in the control). OFFLINE mode implies that we download on a desktop machine the tiles for different zoom levels and then the WPF control accesses these pre-saved tiles instead of connecting to the Internet. Technically this scheme works perfectly.
What is unclear right now is how to obtain (download) the tiles without violating any Bing Maps license rules. So it raises two questions:
Whether there exists a way to officially download Bing Maps tiles
Whether it is officially allowed to use the control in the OFFLINE
mode (assuming that we’ve got some tiles from some source of tiles)
The legal documentation for Bing Maps is rather confusing than clarifying. So we’d like to ask about the particular experience of other developers.
Our ultimate goal is to have:
a good WPF control for maps (which is a natural WPF control, not just a
wrapper over a WinForms control) supporting OFFLINE mode
a legal source of tiles to be used in the OFFLINE mode (costs are
not an issue – we are ready to pay for tiles)
Maybe the community would suggest another pair WPF Control + data source for tiles. We do not need any deep level of zooming since we plan to use the control and tiles only for drawing the borders of countries (excluding extremely small countries).
Right now we see that Bing Maps as a data source also supports Bing Maps WPF control, but the licensing terms are a real mess.
PS
We are developing an “in-house” desktop application which will be used internally in our organization while the Bing Maps license never explicitly references desktop applications while mentioning web-applications and Windows Store. Does anybody know whether Microsoft intentionally doesn’t mention the desktop applications?
None of the Bing Maps controls can be used offline. This is against the terms of use. MercatorMode is not an offline mode, this is just a mode which all the standard map views inherit from and which you can use to have a blank background to a custom tile layer. The Map control will always need to have access to the internet otherwise it will not be able to authenticate the map. When it can't authenticate the map an error is thrown. You can handle this error such that it disables the map instead of crashing the app by using the following code sample: http://rbrundritt.wordpress.com/2012/04/05/bing-maps-wpf-internet-connection-issue/
For an offline map control solution take a look at GMap.NET: http://greatmaps.codeplex.com/
Telerik has a nice Map control which supports:
Rich geographical context for large volumes of data
Heat maps
Multiple tile layers
Multiple Map Providers
Support for Bing Maps, OpenStreetMaps, custom map providers, as well
as visualization of geospatial data.
You can try https://greatmaps.codeplex.com/ which works fine in WPF/Offline mode. First you may have to use their application to download the desired maps at all zoom levels. The maplets are stored in SQLLite database which you may consume in your WPF application. The entire source code along with the map control in WPF is also available there.

Best C# UI component for displaying entities and its relationships

I am creating a UI rich application in C# forms (.net 4.5) for managing/displaying family tree. I tried using many already available products. But none of the free products available have the feature to display and print the complete family tree in a screen. So I have decided to write one myself.
Now I have decided to use graph for the UI and a node will be created depicting each person in the database. I am planning to parse through the complete database in the step 1 and create a logical graph. Step 2 is to display the logical graph with a rich UI. I am planning to have simple features like, when we right click on the appropriate node, we must get the option to update their information.
So my question now is, to cater the above requirement; what is the best component could be used.
Thanks in advance,
S.Sudharsan
Graph# is an open-source C# component for displaying graphs. It requires a little bit of work because it hasn't been maintained in a long time but still very useful.
I had the same problem some time ago.
The final solution was to design each graph node as a user control (so you can customize all the visual properties) and use GraphViz (in my case DOT algorithm) to calculate node positioning.
If you don't want to use any third party framework, you should do some research about graph layout (especially the Sugiyama algorithm).

Google Maps in C# Visual Studio application

For my university I have to create an application that for the User Interfaces paper that I'm doing. I want to create an application that focuses on Africa and allows the user to plot on the map some points of interest.
First thing first though, i need to be able to get the Google maps API working in a form. Does anyone have any idea how I would do this?
Google maps is based on JavaScript. You will need to embed the maps objects into the page and use it that way.
A good starting point would be http://code.google.com/apis/maps/index.html and the most basic of tutorials is available at http://code.google.com/apis/maps/documentation/javascript/tutorial.html#HelloWorld.
I would definatley recommend then links above and then move onto something like http://googlemap.codeplex.com/. It's better to know what's going on underneath before abstracting it away.
Alternatively, you may wish to check out GMap.net (the website is not GMap.net: http://greatmaps.codeplex.com/)
GMap.NET is great and Powerful, Free, cross platform, open source .NET
control. Enable use routing, geocoding and maps from Coogle, Yahoo!,
Bing, OpenStreetMap, ArcGIS, Pergo, SigPac, Yandex, Mapy.cz, Maps.lt,
iKarte.lv, NearMap, OviMap, CloudMade in Windows Forms & Presentation,
supports caching and runs on windows mobile!
I've used this before with WinForms and found it pretty handy. I suggest this because parts of Africa may be better served by different map vendors.

Categories