2015-11-08 33 views
1

我想创建一个用于飞机导航的应用程序。因为对于飞行员来说Bing地图是无用的,所以我需要创建我自己的地图一张航空地图的纹理。Windows 10通用应用程序自定义地图

我找不到任何线索如何开始。是否有Bing地图的SDK可以创建我自己的纹理/覆盖图? 我是否需要从岩石底部开始创建图片并更改其位置,以便相关部件位于设备的可见区域?

我需要以下特点:在地图上

  • 显示当前位置。
  • 通过坐标
+0

做了快速搜索,我发现,你可以添加你赢得层到Bing地图的控制。不知道如何简单/可能是https://msdn.microsoft.com/en-us/library/hh846488.aspx https://developers.arcgis.com/javascript/jssamples/ve_layer.html – sebagomez

回答

0

添加一些自定义的兴趣点之后相当长的一段研究,我理解了它自己。 这里大部分的代码需要,如果你有相同的情况下

开放的格式: "https://webserver/tiles/{zoomlevel}/{x}/{y}.png";

private void InitMap() 
    { 
     _gps = new Geolocator(); 
     pointBuffer = cologne; 
     image = RandomAccessStreamReference.CreateFromUri(new Uri("ms-appx:///Assets/images/airplane.png")); 
     MyMap.Style = MapStyle.None; 

     //Setup Icao Layer 
     _icaoTileSource = new MapTileSource(); 
     var _tileLayer = new HttpMapTileDataSource(); 
     _tileLayer.UriFormatString = IcaoUri; 
     _icaoTileSource.DataSource = _tileLayer; 
     MyMap.TileSources.Add(_icaoTileSource); 

     //Setup VFR Layer 
     _vfrTileSource = new MapTileSource(); 
     var _vfrtileLayer = new HttpMapTileDataSource(); 
     _vfrtileLayer.UriFormatString = VfrUri; 
     _vfrTileSource.DataSource = _vfrtileLayer; 

     //Setup Low Level Layer 
     _lowlvlTileSource = new MapTileSource(); 
     var _lowlvltileLayer = new HttpMapTileDataSource(); 
     _lowlvltileLayer.UriFormatString = LowLvlUri; 
     _lowlvlTileSource.DataSource = _lowlvltileLayer; 

     airplane = new MapIcon() 
     { 
      Title = "My Position", 
      Image = image, 
      Visible = true, 
      Location = cologne, 
      NormalizedAnchorPoint = new Point(0.5, 0.5) 

     }; 
     _tileLayer.AllowCaching = true; 
     MyMap.MapElements.Add(airplane); 
     systemSetCenter = true; 
     MyMap.Center = cologne; 
     MyMap.ZoomLevel = 10; 
     _vm.ZoomLevel = MyMap.ZoomLevel; 
     MyMap.ZoomLevelChanged += (s, e) => 
     { 
      if(s.ZoomLevel > maxZoomLevel) 
      { 
       s.ZoomLevel = maxZoomLevel; 
      } 
      _vm.ZoomLevel = s.ZoomLevel; 
     }; 
    } 
相关问题