타일 오버레이를 사용하는 경우 지금까지 본 유일한 방법은 타일을 잡고 X, Y, Z 좌표를 호출하여 타일 집합과 비교하는 것입니다.Google지도 타일 오버레이 - 타일 호출시 404 오류 방지?
var tileOptions = {
getTileUrl: function(coord, zoom) {
return "/tiles/" + zoom + "_" + coord.x + "_" + coord.y + ".png";
}
}
해당 X, Y, Z의 타일이 있으면 정상적으로 발견되어 호출됩니다. 그렇지 않으면 404 오류가 발생합니다. 필자의 경우에는 동시에 6 개 세트의 타일을 동시에 사용할 수 있으며, 타일을 만드는 스크립트는 빈 타일을 생성하지 않으며 타일을 만들지 않으므로 맵이 줌 또는 위치를 변경할 때마다 모든 타일이로드 될 때마다 100440 개의 오류가 발생할 수 있습니다. 시도하고 어떤 부분이 대응하도록 돕는다
, 나는 타일 커버 지역에 타일 검색 제한했습니다
var tileOptions = {
if (zoom>=16 && zoom<=20) {
if (zoom=16) { if (coord.x>=16000 && coord.x<=16004) { if (coord.y>=24200 && coord.y<=24203) {
getTileUrl: function(coord, zoom) {
//return the tiles
}}}
}
if (zoom=17) //...
}
if (zoom=18) //...
}
//...
}
}
그러나,이 지역은 8x10으로 블록의 영역에 걸쳐, 그리고하지 않습니다 오버레이로 완전히 덮여있다. 이 메서드는 사용자가지도에서 벗어나려고 할 때 오류를 방지하는 것 외에도 지나치게 복잡해 타일 호출 프로세스의 속도를 늦출 수 있습니다.
따라서 타일을 "호출"하는 것처럼 "배치"하는 방법을 찾고 있습니다 : "타일이 있습니까"라는 질문 대신 404 오류가 나거나 스크립트 또는 함수가 "나는이 타일을 가지고 있습니다."(누락 된) 타일을 무시하고 이상적으로 페이지에 보이는 타일 만로드합니다.
또는 기능을 사용하여 타일이 무엇인지 알 수있는 방법을 찾고 있으므로 제목을 호출하여 404 오류를 피할 수 있습니다.
요컨대, 타일을 호출 할 때 404 오류를 피할 수있는 방법은 무엇입니까? 질문를 작성 후
생각 : 나는 처음 이상적인 솔루션이 타일은 사용이있는 경우, 문 경우의 스택을하고 타일보다 동적 인 검사로 변환하고있을 것이라고 가정 실제로 그것을 호출하는 "return"; 그러나 이것은 여전히 동일한 404 오류가 발생하지만 다른 기능에서 발생합니다.
사용하여 인덱스 : meetamit (I를 잘 이해하는 경우) 아래 제안으로 타일을 호출하고 사용하는 것보다 처음 오히려 타일의 존재/비 존재를 확인하기 위해 인덱스를 생성 404를 수표로 사용합니다. 그러나 "Z_X_Y.png"형식의 타일 집합을 사용하면 이러한 인덱스를 어떻게 쉽게 만들 수 있습니까?
색인? 흠 ... 마음에 오는 첫 번째 생각은 array/map _ (여기서 JS에 대해 가장 잘 알고있는 것은 아님) _에서 가능한 모든 타일을 정의하는 선상에있는 것입니다.이 문을 검사하기 위해 if 문을 사용합니다. Z, X, Y에 대해 실제로 그것을 얻기 위해 제목을 요구하기보다는. 이 방법을 사용하면 "Z_X_Y.png"형식의 타일 세트를 사용하여 어떻게 쉽게이 색인을 만들 수 있습니까? (모든 오버레이가 약간 다르기 때문에 복수형입니다) _. 질문에 추가하기 –
좋아, 조금 대답 해주세요 ... – meetamit
여기서 무엇을 얻고 있는지 이해하고 있지만 타일을 수동으로 정의하려고합니다 : [1,1,1,0101110,1, 0,1,0,1,1,1 ...]'이 이런 상황에서 매력적이지는 않지만, 특히 이러한 타일을 다소 자주 변경하려고 할 때 특히 유용합니다.이 인덱스를 스크립트를 통해 오프라인으로 만드는 방법이 있습니까? 또는 어떤 방법으로 업로드하고 실제 타일 검사를 참조 할 수 있습니까? –