MapLayer 및 MapOverlay를 사용하여지도에서 내 경로/폴리선을 만들고 있는데 GPS로 캡처 한 모든 점은 구조에 저장되어 있으므로 액세스 할 수 있습니다. . 언제든지.지도 줌/이동 액션에 해당하는 변형 경로/폴리 라인
이제지도가 사용자에 의해 조작 됨 (확대/축소 및지도 재배치)과 동시에 경로가 변형되어 동일한 경로에 계속 연결되기를 바랍니다. 지금까지 내 방법은 CPU가 매우 배가 고 끔찍한 것처럼 보입니다
GeocoordinateList _coordinates;
MapLayer pointsLayer;
private void MyMap_ZoomLevelChanged(object sender, MapZoomLevelChangedEventArgs e)
{
repositionPoints(); // This is done other way but for the sake of brevity
}
private void repositionPathPoints()
{
try
{
Polyline path = (Polyline)pointsLayer.First(TrackPath).Content; // retrieves MapOverlay corresponding to line
path.Points.Clear();
path.Points = new PointCollection();
foreach (Geocoordinate coord in _coordinates)
{
path.Points.Add(MyMap.ConvertGeoCoordinateToViewportPoint(coord));
}
}
catch (Exception exc)
{
Debug.WriteLine(exc.Message);
}
}
XAML 방법을 사용하여 더 효율적인 방법이 있습니까? 나는지도를 스케일하는 방법에 대해 this old thread을 찾았지만 내 경우에는 맵에 의해 저장된 줌 레벨은 줌 점프 당 스케일 % 표시가없는 1에서 20까지의 숫자 값일뿐입니다.
적어도 downvote로 가면 질문에 대한 잘못된 의견을 제공 할 수 있습니다. –