I am about to start on a project where I need to display maps with cross streets and possibly directions. I know there are a lot of API for the web, but I was wondering what the best solution is for a desktop application.
I know of Bing Maps and I believe there are some Google Maps solutions out there as well. Any help or information on good mapping API's would be greatly appreciated.
Thanks.
You should look at using the ESRI mapping controls. It's nice, relatively easy to use, lots of samples (mostly in silverlight, but thats easy to convert), and has the power of ESRI. What could be better?
if you have a bing maps developer key, you can even use the bing tiles.
Related
I am developing a silverlight aplication which uses a bing maps interface. The client has now changed their requirements and would like to use existing google maps licences rather than pay for both google and bing (it's a private application and hence does not come under the free licences). Does anyone know if it's possible to do?
Cheers
Cap
Is it possible to do? Technically, very easy. But doing so in a legal way, pretty hard.
When you say you were "developing a Silverlight application using a Bing Maps interface", do you mean that you were using the Bing Maps Silverlight control provided by Microsoft? (http://www.microsoft.com/maps/isdk/silverlight/)
If so, unfortunately, you can't simply switch out the Bing tiles and use Google Map tiles instead - to do so would be a breach of the Bing Terms of Service (Section 2i. "You may not... integrate the Bing Maps Platform or any of its content with any other mapping platform; " - http://www.microsoft.com/maps/product/terms.html).
If you've coded your own Silverlight map control, then the terms above don't apply and it shouldn't be too hard to point at a Google Maps tile source rather than the Bing Maps tiles - they use exactly the same Spherical Mercator projection and tiling system, with only a few differences in the way that tiles are referenced that can easily be converted between the two systems. The problem I see here is that the Google terms of use state that you "may not... access or use the Products or any Content through any technology or means other than those provided in the Products" (http://www.google.com/help/terms_maps.html), and Google Maps don't provide a supported means of direct tile access.
So, to comply with Google's ToS, you're going to have to access the Google Javascript Map control from your Silverlight application (either via the SL webbrowser control, or by overlaying an iframe on top of the SL application). Note that, by doing so, you've basically lost any advantage of having coded your application in Silverlight - you may as well have written the whole thing in HTML/Javascript....
Is there by any possibility a library or sth that allows to work with maps on Windows Phone 7 (connect to gps, connect a gps data with a point on the map etc.) and is NOT the control that connects with Bing?
Thanks in advance.
You can use ArcGIS, which does not use the Bing Maps control, though if you just want different maps (such as OpenStreetMap) you can specify a custom TileSource.
You can of course use the Bing maps control with other sources http://dotnetbyexample.blogspot.com/2010/10/showing-open-source-maps-on-windows.html - although this may one day hit licensing issues.
If you want to write your own map control, there are a few open source projects around - things like http://greatmaps.codeplex.com/, http://wpfsharpmapcontrols.codeplex.com/, http://bingmapscontrol.codeplex.com/ - but I don't know any of those with WP7 or touch support. Given the number of questions I've seen on SO asking for advanced features (like map from isloated storage), then hopefully one will come along soon!
Resco MobileForms Toolkit contains Location library that offers location-related services and lets you select one of 2 providers - Google or Bing. This article provides the details.
Any comments are welcome.
I'm trying to implement realtime graphing of data in my WP7 app. Can someone point me in the right direction on how to go about doing this? To clarify, by real-time I mean a graph that updates every second.
thanks in advance
The charting controls from VisiBlox support WP7, are free and come highly recommended.
There's also a video demonstrating functionality on YouTube.
X-Ref: Charting Library for Windows Phone 7 with Zooming & Panning?
It may depend on what you mean by realtime but I am using amCharts in my WP7 app to graph river flow data and it was easy to setup and use. http://blog.amcharts.com/2010/08/introducing-quick-charts-for-windows.html
I am developing a mapping application using ESRI Silverlight API (it's SL map control). I am not using ArcGIS Server whatsoever. Once this map application goes commercial (plan for clients to use it - not that many by the way), will I have to pay any pay-per-hit usage or any other related costs? I know that both the Google Maps API and the Silverlight Bing Maps API cost or correct me if I'm wrong.
Any and all advice will be greatly appreciated.
It's basically only free without an ArcGIS Server license for non-commercial use. Here is a link to the detail: http://www.esri.com/software/arcgis/web-mapping/pricing.html
Basically the same goes with Bing maps, free for non-commercial use, and per hits cost with commercial use. Google maps has a lot more red tape for commercial use. Bing seems to be more commercial and business friendly with their terms of use where Google seems more consumer focused.
I hope that helps.
I am already familiar with Silverlight programming but not have any experience with GIS.
my role as silverlight developer is only to display existing GIS data.
If you guys have any experience with arcGIS silverlight control & api, what else do you think I must learn to be able to use it.
any learning reference could be helpful. thanks.
you don't need alot, you can dl the SDK from ESRI and then check out thier help site they have crap-loads of examples, both downloadable source and live samples (with the source code). If you have a license, you can use bing maps in the ESRI silverlight control--there are assemblies in the SDK for that.
as an aside, the SDK also includes the WPF assemblies as well.
It helps to have a basic understaind of the ESRI Map and Graphics object model for any of their API's (they all have similarities). The Silverlight API is much simpler than the Arcobjects API, but shares many of the same patterns.
If you are performing specific operations (such as distance calculations, map annotating, etc) there may be very specific concepts that will help. Can you post a question with more details about your goal?
I have made some different projects that used GIS data. I haven't tried arcGIS but used Bing Maps (http://www.bing.com/community/blogs/maps/archive/2009/03/18/introducing-the-virtual-earth-silverlight-map-control.aspx) and a Silverlight component from ThinkGeo (http://gis.thinkgeo.com/Microsite1/MapSuiteSilverlight2/tabid/709/Default.aspx?adcampaign=Map+Suite+Silverlight+Edition&leadsource=Google&adgroup=Silverlight+General&adtype=search&keyword=silverlight+map&gclid=CIu976aW0Z0CFZ1h4wodwGsDsA).
I think that Bing Maps is really easy to work with and there is lots of help available online. Maybe that can help you with some starting resources to argGIS?!
Chris is right. The help site has enough samples. I don't have Silverlight skills, so I really struggled with it and I was pretty bad at it too. I think the silverlight learning curve is much steeper.
I tried to wire up GIS tools/buttons to a ribbon control. It sort of worked, a silverlight dev would do a better job:
View esri-silverlight-toc-png
If you just need to control visibility, between services. It's real easy. Or if you have one service, with layers inside that you need to control...that's easy too.
But if you need both, you will have to roll your own layer control. I wired it up to a treeview, but it doesn't look sexy. ESRI may have a better TableofContents control out now, they didn't when I was messing with it:
View esri-silverlight-png