2015-11-08 46 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; 
     }; 
    } 
相關問題