Maps for commercial WPF applications - c#

I'm currently developping a commercial Windows application (closed-source, free demo with limited functionality available) in .Net 4.0 using C# and WPF. I'm now looking for a map library with the following features:
World-wide online map and/or satellite data (Like Bing or Google Maps. Due to lack of coverage however, OpenStreetMap does not qualify)
Display of custom colored placemarks
Optionally: Possibility to easily add a simplified offline map, on a lower zoom level
Which mapping solution satisfy those requirements without violating any licenses of the map provider?

If you'd choose Bing, it is fairly simple. As I said, I haven't done it myself, but I've seen it on a demo. It should be something like:
<maps:Map Name="bingmap" Mode="AerialWithLabels" CredentialsProvider="enteryourkeyhere"/>
Where maps is the namespace: clr-namespace:Microsoft.Maps.MapControl;assembly=Microsoft.Maps.MapControl
Then, in code-behind:
GeoCoordinate co = new GeoCoordinate((double)myLatitude, (double)myLongitude);
bingmap.SetView(co, 18);
Courtesy goes to Kevin Derudder who did a great presentation (which is where I saw it). It was about Silverlight, but should be almost the same for WPF. Check out his blog post, with code sample.

Have you looked at NASA World Wind? They have a lot of developer information hosted on their website. It is JAVA based, but there are ways around that.
http://worldwind.arc.nasa.gov/java/
And being a Government Agency, I would image that their imagery is Free-Use.
ESRI website Developer Tools Product Page

You may have to go commercial. If so, also look at Thinkgeo Mapsuite.

This is excellent, I guess it will have more than you need:
Great Maps for Windows Forms & Presentation
Just download code and check out the demo!

Related

Xamarin Forms Image Recognition

I would like to know if there is any recognition system for Xamarin Forms that can recognise a point (for example a green filled circle) with the camera, in order to extract info from that point (like coordinates).
I know that EmguCV maybe can do that, but the samples are not working and if you want to use it on Xamarin Forms, you have to pay a commercial license, what does not make sense to me if I can't test it before.
Any info about this would be greatly appreciated.
I see 3 ways for you:
use EmguCV:
I use EmguCV for Xamarin Forms, and it's working pretty well.
But it's pretty complicated to configure it... Try this tutorial: Using Emgu with Xamarin Forms. I think you can test it without buying a licence but only on a simulator...
I also found an Azure service called "Custom Vision". You can train a neural network? to recognize objects on your pictures... Take a look at here (there is a free plan): Custom vision Azure service
Finally, If you have enough skill in image processing you can do it by yourself (there are many tutorial on the web).
==> For me the first solution is the best (Emgu is really powerfull). So if you plan to use it for several projects, I suggest you to buy a licence...
"Custom Vision" Azure service look really convenient but I don't know if it fit your needs... You have to test it, and the free plan is limited too...
Good luck

Generating an Organogram in MVC and Displaying in View

I imagine this question will not bear anything, but this is a last ditch attempt before I have to tell my PM I simply can't do it.
My colleague (usefully before leaving the project) was a yes man to everything our PM asked for, regardless of what it was, and I seem to have been volunteered to create some functionality that will generate an Organogram / Organisational Chart and present it in the view.
I have dug around and asked around, no one really seems to know how I would go about doing this. Can anyone offer any advice on anything that can help? Even if it's the most basic tutorial or obscure API ever, it will be helpful.
To put a point on it, my question is: Is it possible to generate a chart in an ASP.NET MVC C# Application, and display it on a View? (Even a yes or no would help)
Yes, everything is possible. It's just a matter of how much time you can spend on it. Not everything has a good return on investment though, but that's for your PM to decide. As long as your team can make an estimation of the complexity.
But for ASP.NET, Microsoft has a Charting library that allows you to build charts. There are also commercial libraries (the first google hit) out there that are more feature rich.
And if they don't work, you can Always build images manually using the System.Drawing namespace of .NET (that will of course take considerably more time than plotting a chart using one of the available libraries). Generated images can be sent through an ashx handler, or you can embed the image in the same page using base64 encoding.
It's not bad to say yes to your PM, but I rather say: "Yes, we will stick this feature on the feature list / back log, and make a estimate of the complexity. Once we know the complexity you can choose to select it for a future iteration." But perhaps I'm talking too Agile now ;-)
You can hand off the chart drawing to an external library, for example, Google Visualization: Organizational Chart
Have a look at this question for other suggested librairies:
What's the best library to draw organization chart using JavaScript?
This sounds like it's in a commercial scenario, so it's really worth looking at the commercially available solutions. Steven already mentioned one, but as far as I can see that one is for Windows Forms and the other one is for charts as in bar charts and provides no organigram features.
A Javascript diagramming library with the capabilities of displaying organizational charts is yFiles for HTML. It has a nice online example of an organization chart that might be exactly what you are looking for:
There is also a Video that shows the demo in action.
The library is a pure Javascript implementation that does not depend on server libraries or servers at all. Integrating it in an ASP.net environment should be easy though, as long as you know Javascript. Being a library it offers full customization capabilities. You can determine the look and the feel of all aspects of the chart. Under the hood the library is a generic graph drawing and editing tool and the organizational chart is just one possible use-case.
Full disclosure: I work for the company that created the library, but on SO I do not represent my employer. My comments, thoughts, etc. are my own.

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.

Charting for an ASP.NET application

I am just starting a new ASP.NET application. Is it preferable for me to use the MS Charting controls for .NET, as that's already the domain I am using, or is there a real reason to look at other tools such as Google Charts?
Also, I can't seem to find any online/live examples of the MS Charting component online, which makes it a bit difficult to evaluate...
Here's a good tutorial on Microsoft's .NET Chart Control.
http://dotnetslackers.com/articles/aspnet/microsoft-chart-with-asp-net-35-part1.aspx
While it's good for simple charts, you're better off with a 3rd party control like Telerik's RadCharts for better customizablity & features
You should evaluate SVG+jSON as well. Before you evaluate, you should estimate the load on your web site. Server side charting API's provide very good functionality, but do comsume CPU cycles.If you are expecting a lot of traffic for those pages, you are better off with SVG+jSON for charting. There are some good jQuery plugins which can do that for you
I am doing a lot of charts and my experience is that you get more and more requirements on the charts and then it is good to have a product that can meet the new requirements so I have used Software FX Chart FX
http://www.softwarefx.com/
(source: softwarefx.com)
This is a mature product (like Dundas) and so far I have succeded to create what I want. The test I did with MS Chart worked good and was easy to create the charts but I feel the API is better for Chart FX.
http://demo.softwarefx.com/chartfx/aspnet/ajaxsamples/

Implementing Google maps in mobile

How to show google maps in mobile application using .net2.0
A very simple approach is to use the Google Maps Static API, a HttpWebRequest and Image.Save to download an image of the map, e.g. "http://maps.google.com/staticmap?zoom=14&size=512x512&mapt
ype=mobile&markers=40.714728,-73.998672&key=YOUR-GOOGLE-MAPS-API-KEY" which can be shown in a PictureBox.
Regards,
tamberg
Late to the party, but you might find this helpful as well:
http://www.koushikdutta.com/2008/07/virtual-earth-and-google-maps-tiled-map.html
Should give you a bit more flexibility (zooming, moving around, etc... ) than the static maps API.
Do the maps absolutly have to be from Google? I was writing an application that made use of Live Maps to display maps on a Compact Framework application. When I wrote the app I used the 3.5 framework though, so I am not sure whether or not this will fit your needs.
http://www.codeproject.com/KB/mobile/WiMoWifiPosition.aspx
There is various controls available to integrate Google Maps into an ASP.net website. Since the Sockets and Net libraries are available on Windows Mobile, you could possibly integrate using the Google Maps API, however will have to build your own controls to display the maps. The API can be found here.

Categories