2010-11-29 2 views
2

3 푸시 핀이 있습니다 : (1) 캘리포니아, (2) 플로리다, (3) 뉴욕. 3 명 모두가 보이기 위해서는 전국을 거의 볼 수있을 정도로 멀리 축소해야합니다. 하지만 그 대신에 나는 (1) 캘리포니아, (2) 네바다, (3) 텍사스를 가지고 있었다. 미국의 남서쪽 코너를 덮기 위해 축소해야합니다. Windows Phone 7 API 용 빙지도에 어떤 기능이 있나요? 기본적으로 위치 집합을 볼 수있을 정도로 축소하고 싶습니다.빙지도에있는 모든 위치를 표시 할 줌

감사합니다.

답변

0

직접 원하는 기능을 수행하는 기능에 대해서는 모르겠지만 모든 위치를 둘러싼 경계 상자를 찾을 수 있으며 해당 범위로 뷰포트를 설정할 수 있어야합니다.

왼쪽 하단 모서리가 (maxVal, maxVal)이고 오른쪽 상단이 (-maxVal, -maxval) 인 반전 된 상자로 시작하는 경우 모든 포인트를 반복 할 수 있고 포인트가 현재 값보다 작 으면 왼쪽 하단을 재설정하거나 현재 값보다 큰 경우 오른쪽 상단을 재설정 할 수 있습니다.

최종 결과는 모든 것이 들어 맞는 가장 작은 상자가됩니다. 반올림 오류에 대처하고 핀이 실제로지도에 있는지 확인한 다음 뷰포트의 범위를 설정하려면 크기에 약간을 더하십시오.

+0

해상도, 확대/축소 계수를 고려해야하지 않습니까? 가장 먼 2 곳의 위치를 ​​한 곳에서 다른 곳으로 변환 한 다음 전화 해상도 (480x800)를 기준으로 모든 위치를 표시하도록 줌 레벨을 설정해야합니다. 그것은 소리가 나는 것처럼 단순하지 않을 수 있습니다. 나는 Google지도가 그런 기능을 가지고 있다는 것을 알고 있습니다. 그래서 Bing도 그렇게하기를 바랍니다. – Carlo

5

예. 것이 가능하다. CurrentItems는 내지도 원본입니다.

var locations = CurrentItems.Select(model => model.Location); 
map.SetView(LocationRect.CreateLocationRect(locations)); 
+0

'LocationRect.CreateLocationRec't는 Windows 8에서 사용할 수 없습니까 ?? 나는 무엇을 사용해야합니까 ?? –

관련 문제