我想把一个OpenStreetMap映射到我的Windows 7.5应用程序中。我想使用Map控件
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;
}
}不幸的是,控件要求我提供必应键(,尽管我没有使用必应地图!)。我不想创建必应开发帐户,我不需要,因为我不想使用必应地图。有什么可以控制的吗?或者是否有允许使用OSM的替换?
发布于 2014-09-17 14:10:02
身份验证用于使用地图控件和地图数据。将Bing地图数据替换为是违反使用条款的。看看这里的3.2p点:http://www.microsoft.com/maps/product/terms.html --这就是为什么您不能在没有身份验证的情况下使用映射控件。
至于商业许可。如果这是一个面向公众的应用,必应地图为Windows手机应用程序提供了非常慷慨的免费使用条件,允许您在24小时内生成5万次交易。这比大多数应用程序所需要的要多。如果这是一个内部业务应用程序,那么您每年可以免费使用12.5万个事务。如果你的应用程序超过了免费使用条款的限制,那么你需要支付必应地图许可证。
https://stackoverflow.com/questions/23106279
复制相似问题