I Want to write a Windows Application that uses an map and when a user clicks on a location in the map,the application sh开发者_StackOverflow社区ows some information about the location which are saved in a a database file.
how can i write codes for map? what component can i use? what library can i use? any information can help me ...
Have a look at http://greatmaps.codeplex.com/ It is a great solution we use for gis
Did you try this control?
http://googlemap.codeplex.com/
There is no built in map control in C#. You'll have to use some third party library. For a straight up map, I would suggest OpenStreetMaps, Bing Maps or Google Maps. There is a pretty good blog post with how to develop a C# maps API here. There's also a pretty good Bing Maps / vs Google Maps comparison here.
If you want a full fledged Earth viewer, you have basically 3 main choices:
- Nasa World Wind
- Microsoft (Bing) Virtual Earth
- Google Earth
Nasa World Wind has a Java SDK and off the top of my head -- I don't know of any C# SDKs for Nasa World Wind. From a user experience perspective, I don't think Nasa World Wind is as good as Bing or Google Earth.
I don't have a lot of experience with Bing virtual earth either, there are quite a few references:
- Developing a .NET Application Using Bing Maps SOAP Services
- Bing Maps SDK
Most of my mapping expertise comes from Google Earth, which does not have a native C# API. The older versions (< GE 6) had a COM API, and the web version has a JavaScript API, but there is nothing native for C#. However, there is an excellent 3rd party C# library here. Note that that library uses the Google Earth plugin that runs in a web browser control. Fortunately it uses late binding (.NET 4.0), so it should be compatible with any version of the plugin.
Good luck!
精彩评论