2011-11-10 4 views
0

고유 한 ID 및 관련 위도와 경도를 가진 4000+ 주소가 나열된 정적 .csv 유형 파일이 있습니다. 각 회의 ID에 대해 저장된 이벤트가있는 데이터베이스를 쿼리 한 다음 쿼리와 일치하는 이벤트가있는 주소 만 Google 맵에 표시하려고합니다.Google지도에서 KML 장소 표시를 동적으로로드

Google의 검색어 제한이 없다면 (라이브가 될 때 매일 수십만 ~ 수백만 개의 검색어가 발생할 수 있음) 한 가지 일 수 있습니다. 그러나 KML 파일에 대한 한도는 충분합니다 (실제로 파일 크기가 잘못 계산 된 것 같습니다.) 그리고 .csv 유형 파일을 .kml 파일로 변환하면됩니다. 모든 4000+ 주소가 매번지도에로드되기를 원하며 검색 쿼리에 해당하는 주소 만 필요합니다.

단일 .kml 파일에서 특정 장소 표시를 선택적으로로드하는 방법이 있어야합니다. 맞습니까? 가능하다면 서버 측 접근법 (ASP.Net)을 사용할 필요는 없지만 절대적으로 필요한 경우는 필요합니다.

~~~~~

나는 서버 측 방식을 사용한다고 생각합니다. 나는 여전히 순수 JavaScript를 사용하여 쿼리 제한을 실행하면서 kml을 사용하고 싶습니다 (Google Maps API를 사용하는 방법을 배웠을 때 잘못된 것을하고 있었을지라도). kml은 티켓을 구입해야하는 이벤트에 대한 장소와 관련 위치로 구성됩니다. 검색 용어는 'wicked New York'또는 'concerts FL'일 수 있습니다. 데이터베이스는 venue id를 반환합니다.이 위치 ID는 kml 파일의 장소 표시 ID와 연관되어 있습니다. 내가하고 싶은 일은 검색 쿼리에서 반환 된 배열 ID 배열을 사용하고 kml 파일을 스캔하여 배열의 ID와 일치하는 장소 표시 ID 만 반환하는 것입니다. 그런 다음 kml 위치 표시를 같은 페이지의 div 태그에로드 한 다음 Google이지도에 포인터를 넣기 위해 사용하는 위치로 설정합니다. 완전한 URL 대신 # 명명 된 앵커를 사용하여 Google지도에 kml을로드하는 방법이 있습니까? (var kmlVar = new google.maps.KmlLayer('#kmlDivTagOnSamePage');이것은 작동하지 않습니다.)? 그러면 서버 측 ASP 부분을 쉽게 작성할 수 있습니다.

답변

0

2D지도를 사용중인 경우 KML을 사용할 필요가 없을 것입니다. 한 번에 4k 위치를 모두 표시 할 필요가 없기 때문에 Google의 서버 측 렌더링 (자바 스크립트로 마커를 렌더링 할 수 있음)을 사용할 필요가 없기 때문에 퓨전 테이블이 작동 할 수는 있지만 대신 - ID를 키로 사용하여 모든 데이터를 JSON 사전으로로드하고 검색을 실행하면 일치 항목을 찾아 표시합니다. - 처음에는 클라이언트에 아무것도로드하지 않습니다. 그냥 쿼리합니다. 귀하의 서버를 검색하고 검색 할 때마다 필요한 모든 데이터를 반환하도록하십시오.

이러한 제안이 이해가되지 않는 경우 질문 할 수있는 정확한 유형의 쿼리와 예상되는 응답 유형을 제공하십시오. 데이터베이스에서 해당 데이터베이스를 제어하는지 여부.

관련 문제