2012-11-20 5 views
1

빙지도 터치 컨트롤 Ajax7을 참조하는 데 약간의 문제가 있습니다.빙지도는 다각형 상호 작용을 터치합니다.

색이있는 지리적 인 지역 모양을 표시하기 위해 bingmaps 인터페이스 위에 몇 개의 다각형을 넣었습니다. 이제 사용자가지도를 패닝하거나 확대/축소 할 때마다지도에 표시된 엄청난 수의 폴리곤이 성능 지연을 초래합니다.

이 코드는지도에 polygones를 밀어 :

Overlay_Tmp = 새로운 Microsoft.Maps.Polygon (region.Shape, region.colortheme);

map.entities.push (Overlay_Tmp);

https://dl.dropbox.com/u/85251516/poly.png

는 이유로 나는 사용자가지도를 확대/패닝 할 때마다 눈에 보이지 않는이 polygones을 설정하기로 결정했다.

사용자 상호 작용

는지도보기가 등

마이크로 소프트를 확대/패닝에 의해 변경 될 때마다 해고 된 빙지도, 바인딩은 "viewchangestart"/ "viewchangeend"이벤트를보고 붙잡혀해야합니다. Maps.Events.addHandler (map, 'viewchangestart', VC_START);
Microsoft.Maps.Events.addHandler (map, 'viewchangeend', VC_END);

빈지도 인터페이스와 상호 작용하는 한 제대로 작동합니다. 지도를 이동/확대/축소 할 때 viewchangestart가 시작되고 이동/이동이 중지되면 viewchangeend가 시작됩니다.

다각형 오버레이 내에서 동일한 작업을 수행하면 작업이 잘 진행되지 않습니다. viewchangend는 viewchangestart 이후 instandly 해고 - 그래서 모든 아이디어 doestn 운동.

폴리곤 오버레이와 비슷한 문제를 겪었거나 나에게 더 좋은 아이디어가있는 사람이 있습니까?

감사합니다.

답변

0

이벤트가 예상대로 실행됩니다. 추가 할 수있는 논리의 한 부분은 다각형의 경계 상자를 계산하는 것입니다 (좌표를 locationRect로 전달). 경계 상자가지도의 경계 상자와 겹치는 지 확인합니다. 그렇지 않으면지도를 숨 깁니다.

관련 문제