3

상당히 큰 수의 lat/lng 포인트 (~ 1000)가있는 폴리 라인을 그립니다. 두 개의 슬라이더 (시작과 끝)를 사용하여 사용자가 시간 범위를 조정할 수있게 한 다음 Polyline을 업데이트하여 두 번 사이의 데이터를 표시합니다. 내가 말 슬라이더를 드래그 할 때 예상대로 내가 시작 슬라이더를 드래그 할 때Google지도 3 다시 그리기 폴리 라인 깜박임

var mvcPath = new google.maps.MVCArray(); 

for (var i = 0; i < gpsData.length; i++) { 

    if (gpsData[i]['timestamp'] <= endDate && 
     gpsData[i]['timestamp'] >= startDate) { 
     mvcPath.push(gpsData[i]['location']); 
    } 
} 

this.path.setPath(mvcPath); 

이제 이상한 일이 라인은, 그러나, 제대로 선을 다시 그립니다 다시 그립니다된다

내 업데이트 알고리즘은 다음과 같이 간다 높은 줌 레벨을 제외하고는 선의 일부가 약간 움직이는 것처럼 보입니다 (닫을 때 확대하지 않을 경우). Google이 Polyline에 적용하는 앤티 앨리어싱 알고리즘과 관련이 있다고 생각했지만 끝 슬라이더를 움직이면 동작하지 않습니다.

누구나이 깜박임의 원인을 알고 계십니까?

답변

0

나는 지금 당장 효과가있는 해결책을 해킹했습니다. API가 포인트를 앞쪽에 추가하는 것을 좋아하지 않으므로 일관된 점수를 유지하려고했습니다.

내가 1000 점의 집합을 가지고 있으며 200에서 900까지만 보여주고 싶다고 가정 해 보겠습니다. 200 점의 위치를 ​​그리면 나머지 200 점을 900 점으로 그립니다. 깜박임이 멈 춥니 다. . 10 - 330을 표시하려면 점 10을 그립니다. 그러면 나머지 데이터를 점 330에 그립니다.

Google에 내부적으로지도의 선을 저장하는 방법이 있습니다. 행의 앞쪽에서 전체 배열을 다시 색인화하고 행을 처음부터 다시 그릴 수 있습니다.

나는 대답을 받아들이지 않을 것입니다. 누군가가 더 나은 대답을 내놓을 때입니다.

관련 문제