2017-12-06 23 views
0

UWP MapControl에 여러 가지 유형의 MapElements를 표시하고 사용자가지도에서 작업 할 때 위치, 크기 등을 정기적으로 업데이트합니다. 현재 코드에서이 모든 작업을 수행합니다. MapElements의 여러 컬렉션을 바인딩하는 편리한 방법을 찾고 싶습니다. 유지할 코드가 적어집니다.UWP Mapcontrol - 다른 MapElement의 콜렉션에 바인딩하여 레이어로 배열합니다.

작성자의 fall 업데이트 16299 Microsoft는 MapElementsLayer class,을 추가했으며 작업에 이상적이지만 작동시키지 못합니다. MapElement3D의 ObservableCollection에 바인딩 할 때 그 중 하나가지도에 표시되지 않습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

<Maps:MapControl 
     x:Name="MainMap"   
     MapProjection="Globe" 
     ZoomLevel="15.5" 

     <Maps:MapElementsLayer x:Name="Cars" MapElements="{x:Bind _VehicleCollection, Mode=OneWay}" /> 

</Maps:MapControl> 

답변

2
나뿐만 그때 유지하기 위해 적은 코드이있을 것이다, MapElements의 여러 다른 컬렉션을 결합하는 편리한 방법을 찾으려면

.

언급 한 것처럼지도 계층화 API는 데이터를 바인딩 할 수있는지도 데이터 컬렉션을 나타냅니다. 기존 MapControl.MapElements API와 달리이 요소를 사용하여 하나의 단위로 요소 그룹을 조작하거나 공동 목적을 지정할 수 있습니다.

그러나 데이터 수집을 MapControl.Layers을 사용하여 바인드해야합니다. 이것은 MapElements 컬렉션을 사용하여 수행 할 수없는 작업입니다. 지도 겹침 API 및 수행 방법에 대한 자세한 내용은 Working with layers을 참조하십시오. 예 :

<Maps:MapControl 
    x:Name="myMap" 
    Layers="{x:Bind ViewModel.LandmarkLayer}" 
    MapProjection="Globe" 
    MapServiceToken="Your token" /> 

MapControl.Layers 속성에 레이어 모음을 바인딩해야합니다.

+0

OMG! 고맙습니다. 정말 간단합니다. 문서에서 올바른 페이지를 찾을 수 없었습니다. –