현재 경로 렌더링 메소드는 모든 획을 동일한 획을 사용하여 그립니다.
물론
public class GMapRouteColored : GMap.NET.WindowsForms.GMapRoute
{
public GMapRouteColored(IEnumerable<PointLatLng> points, string name)
: base(points, name)
{
}
public override void OnRender(Graphics g)
{
for(int i = 0; i < LocalPoints.Count - 1; i++)
{
g.DrawLine(yourPenForThisLine, LocalPoints[i].X, LocalPoints[i].Y, LocalPoints[i+1].X, LocalPoints[i+1].Y);
}
}
}
은 아마 당신은 또한 포인트의 일부 값에 따라 사용할 펜을 결정하는 방법이 필요합니다 : 당신은 같은 것을 국도 클래스를 상속하고 자신의 그리기 방법을 확인해야합니다. 이 문제를 처리 할 수있는 유일한 쉬운 방법은 보유하고있는 포인트 수와 동일한 정수 목록을 추가하고이 목록을 각 로컬 포인트 인덱스에 사용할 펜으로 결정하는 것입니다. 이게 도움이 되길 바란다.
편집 : WPF 용 솔루션을 찾고 있습니다. 필자가 게시 한 솔루션은 WinForms에서만 작동하지만, 컨트롤을 사용한 경험을 토대로 WinForms는 오버레이와 함께 훨씬 더 많은 기능을 제공하므로 응용 프로그램에 더 적합 할 수 있습니다.
감사합니다 :) 나는 간단한 테스트를하고 아주 좋은 해결책입니다. WindowsFormsHost에서 GMap의 WinForms 버전을 사용하려면 코드에서 많은 변경 작업을해야하지만 최선을 다하는 것 같습니다. – hooboe
반갑습니다. WPF 또는 WinForms를 사용할 때 성능 차이가 크다는 것을 알고 있습니까? 나는 아직 이것을 연구 할 기회가 없었다. –
설명서에서 찾을려고했지만 어떤 비교도 찾지 못했습니다. – hooboe