내가 좋아하는 방식으로 작동하는지도에 압핀을 추가하는 데 큰 어려움을 겪고 있습니다.지도에 압정 표시
먼저 MapItemsControl을 추가하고 바인딩하려고 시도했습니다.
<map:MapItemsControl ItemsSource="{Binding Path=Locations}">
<map:MapItemsControl.ItemTemplate>
<DataTemplate>
<controls:NumberedCircle Number="{Binding Path=Number}" map:MapControl.Location="{Binding Path=Point}"/>
</DataTemplate>
</map:MapItemsControl.ItemTemplate>
</map:MapItemsControl>
이 방법은 효과가 있지만지도를 이동할 때 전혀 문제가되지 않습니다. 맵 패닝과 압정 아이콘이 예상되는 위치로 따라 잡는 사이에 매우 눈에 띄는 지연이 있습니다. 지도를 앞뒤로 빨리 움직이면 거리의 한 쪽에서 다른 쪽으로 고정 핀 점프를 할 수 있습니다. 이것은 목록에있는 하나의 항목에서만 발생하므로지도가 압도당하는 것처럼 보이지 않습니다.
다음은 효과의 비디오입니다 : http://youtu.be/9FIvkOf71bg
다음 내가 MapElements 컬렉션에 MapIcons를 추가했습니다. 이것은 MVVM을 사용하기 때문에 Behavior에서 수행되었지만 일반적인 아이디어는
var mapIcon = new MapIcon() { Location = pushpinDrawBehavior.Location};
mapControl.MapElements.Add(mapIcon);
위대한 작품입니다. 나는지도를 냄비에 올려 놓고, MapIcon은 내가 얼마나 빨리 움직여도 아무 곳에도 있어야한다. 지체 된 행동이 전혀 없습니다. 그러나 MapIcon은 확대/축소시 문서에 설명 된 것처럼 나타나고 사라집니다.
MapIcon이 표시되지 않을 수 있습니다. 이지도의 다른 요소 나 레이블을 가리면 숨겨져있을 수 있습니다.
지도에 압정을 추가하는 두 가지 방법이 있으며 여러 가지 이유로 끔찍한 사용자 경험을 생성하기 때문에 매우 좌절했습니다. 질문은 다음과 같습니다.
1) 무엇이 있습니까? 팬에서 XAML 요소를 지연시키지 않는 방법이 있습니까? MapIcon을 항상 표시 할 수있는 방법이 있습니까?
2) MapIcon처럼 작동하는 맞춤 클래스를 만드는 방법이 있습니까? 그것은 MapElement에서 파생되지만 압정의 실제 렌더링이 어떻게 수행되는지 또는 이미지, 제목 등의 레이아웃이 정의되는 방법을 볼 수 없습니다. 내 자신의 MapIcon을 만들 수 있다면 잠재적으로 숨기기 동작을 비활성화 할 수 있습니다.
편집 : Nokia 925에서 앱을 실행하면 효과가 눈에 띄지 않습니다 (위의 동영상은 521에서 가져온 것입니다). 지도와 동기화 된 XAML 오버레이를 유지하는 것이 매우 프로세서 집약적 인 것으로 보이며 적은 하드웨어에서 더 많이 악화 될 것입니다.
안녕하세요 Paul, 이후 새로 추가 할 항목이 있습니까? 똑같은 효과를 느낀다. –