C# 非必应地图的地图控件

C# 非必应地图的地图控件,c#,windows-phone-7,bing-maps,C#,Windows Phone 7,Bing Maps,我想将OpenStreetMap地图放入我的Windows Phone 7.5应用程序中。我想从中使用地图控件 xmlns:my="clr-namespace:Microsoft.Phone.Controls.Maps;assembly=Microsoft.Phone.Controls.Maps" 我已经创建了自定义TileSource: public class OSMTileSource : TileSource { private const string OSMUriForma

我想将OpenStreetMap地图放入我的Windows Phone 7.5应用程序中。我想从中使用地图控件

xmlns:my="clr-namespace:Microsoft.Phone.Controls.Maps;assembly=Microsoft.Phone.Controls.Maps"
我已经创建了自定义
TileSource

public class OSMTileSource : TileSource
{
    private const string OSMUriFormat = "http://{0}.tile.openstreetmap.org/{1}/{2}/{3}.png";

    public OSMTileSource()
    {
        this.UriFormat = OSMUriFormat;
    }

    private readonly static string[] TilePathPrefixes = new[] { "a", "b", "c" };

    public override Uri GetUri(int x, int y, int zoomLevel)
    {
        if (zoomLevel > 0)
        {
            var url = string.Format(UriFormat, TilePathPrefixes[y % 3], zoomLevel, x, y);
            return new Uri(url);
        }

        return null;
    }

}
不幸的是,控件要求我提供Bing身份验证密钥(,尽管我没有使用Bing地图!)。我不想创建Bing开发者帐户,我不需要,因为我不想使用Bing地图。
有什么办法可以控制吗?或者是否有允许使用OSM的替代品?

身份验证用于地图控件和地图数据的使用。将Bing地图数据替换为开放街道地图违反了使用条款。看看这里的第3.2p点:这就是没有身份验证就不能使用map控件的原因


至于商业许可。如果这是一个面向公众的应用程序,必应地图为Windows Phone应用程序提供非常慷慨的免费使用条款,允许您在24小时内生成50000笔交易。这超出了大多数应用程序的需要。如果这是一个内部业务应用程序,那么您每年可以免费使用125000个事务。如果你的应用程序超出了免费使用条款的限制,那么你需要支付Bing地图许可证的费用。

只需创建一个帐户并获取密钥,你为什么不这样做?!其他每一个使用备用磁贴源的开发人员都会这样做。是的,但是许可证呢?商业许可证(我想在商业应用中使用地图)有一些限制。如果你对许可证有顾虑,最好直接联系Bing。我知道的唯一其他地图控件是