商业WPF应用程序的地图

4
我目前正在使用C#和WPF在.Net 4.0中开发一款商业Windows应用程序(闭源,提供有限功能的免费演示版本)。我现在正在寻找具备以下特点的地图库:
  • 全球在线地图和/或卫星数据(如Bing或Google Maps。但由于覆盖范围不足,OpenStreetMap不符合要求)
  • 显示自定义颜色的地标
  • 可选:在较低缩放级别上轻松添加简化的离线地图
哪种地图解决方案可以满足这些要求而不违反地图提供商的任何许可证?

这些要求非常严格,可能只能通过购买谷歌或微软的许可证来满足。 - Nik
1
为什么排除OSM,它可以免费提供所有内容? - Leonard Brünings
@Damokles:OSM的地图覆盖范围在欧洲或美国以外的大多数地区非常有限。不过,这是一个非常迷人的项目。 - Christian Studer
为什么Bing地图被排除在外?我看过它的运行情况(虽然没有亲自编码),只需几行代码,就可以在你的应用程序中显示地图。我问这个问题是因为我将来也会面临类似的情况。 - Peter
1
Bing没有被排除。我已经修改了问题。你是如何在你的应用程序中实现地图的? - Christian Studer
4个回答

3

如果您选择使用必应搜索,这很简单。就像我说的,我自己没有操作过,但是我在演示中看到过。应该像这样:

<maps:Map Name="bingmap" Mode="AerialWithLabels" CredentialsProvider="enteryourkeyhere"/>

如果map是命名空间:clr-namespace:Microsoft.Maps.MapControl;assembly=Microsoft.Maps.MapControl

然后,在代码后台:

GeoCoordinate co = new GeoCoordinate((double)myLatitude, (double)myLongitude);
bingmap.SetView(co, 18);

感谢Kevin Derudder做了一次出色的演示(我就是在那里看到的)。虽然他的演示主要是关于Silverlight的,但同样适用于WPF。请查看他的博客文章,其中包含代码示例。


1

是的,数据源似乎(大多数情况下)可以免费使用,但软件本身(World Wind)似乎不可用作其他应用程序的插件。 - Christian Studer
如果您能详细说明为什么不适合,将有助于找到更好的选择... - CodeWarrior
根据World Wind论坛的说法,似乎不可能在WPF应用程序中托管World Wind软件。或者是我漏掉了什么? - Christian Studer
我曾经看到过Java内容托管在WPF应用程序中的实例,但我无法对它们的性能进行评估。如果你有钱,可以购买ArcGIS许可证,并使用Arc的COM库从Google或Bing获取WMS数据(我也看到过这样做,但没有直接经验)。ArcGIS是一款相当复杂的软件,需要一些学习才能使其按照您的意愿工作。人们甚至要去大学学习如何有效地使用它。我会在上面的帖子中添加一个ESRI的链接。 - CodeWarrior
谢谢提供链接,我会查看并与我们的GIS人员交流。 - Christian Studer

0

你可能需要商业解决方案。如果是这样,也可以考虑Thinkgeo Mapsuite。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接