2011-11-10 2 views
0

Google Maps JavaScript API v3을 사용하고 있습니다. 지도를 만들 때 표시되는 개의 기본 위치가 모두 인 경우 KmlLayerKmlMouseEvent에 Google지도를 연결하고 싶습니다.Google Maps JavaScript API v3의 기본 KmlLayer에 액세스하는 방법

KmlLayer에 대한 참조를 제공하는 유일한 방법은 그것을 만드는 것입니다. 그러나 모든 기본 데이터가 필요합니다.

This post은 외부 파일에서 KML을로드하는 경우 KmlMouseEvent 클릭까지 연결하는 방법을 설명합니다. 그러나 API에서 기본 KmlLayer의 click 이벤트에 액세스 할 수있는 문서를 찾을 수 없습니다.

Places API를 호출하고 반환 된 데이터에서 KML 파일을 생성하는 것이 가장 좋은 해결책입니다. 더 나은 방법이 있어야합니다.

답변

3

1 : 모든 구글지도 V3의 첫 번째는 KML 층을 기반으로, 그래서 KML

2를 얻기 위해 아무것도 기본가되지 않습니다이 KML 기반으로했다하더라도, 기본 KML 층을 점점 부여 할 수없는 것 Google지도의 현재 상태, 그렇지 않으면 비현실적인 gooogle지도 api를 변경해야 할 수 있습니다. 즉, 실제로는 Google지도를 사용하지 않을 것입니다. 레이어 -

Online Mapping with Google Maps API for your reference

0

나는 당신의 질문을 올바르게 이해할 수 있을지 모르겠다. trainstations, restaurants, places 등의 기본 google-maps 항목에 대한 모든 클릭 이벤트에 액세스 할 수 있습니까? 이 맞으면

, 나에게 다음과 같은 말씀 보자

기본 구글 -지도 층이 KML 레이어가 아닙니다. 첫 번째 레이어는 동적이며 KML 레이어처럼 전체지도에 정의 된 장소를로드/렌더링하지 않습니다. 레이어는 뷰포트 변경시 해당 항목을로드합니다. 성능 및 트래픽에 대해 생각하면 이는 의미가 있습니다. 따라서 기본 장소에 대한 클릭 이벤트를 설정하려면 모든 뷰포트 변경시이 작업을 수행해야합니다.

질문으로 돌아 가기 ... 나는 슈어가 아니지만 이것이 Google의 보안 제한이라고 생각합니다. 기본 클릭 이벤트에 액세스 할 수있는 경우 콘텐츠를 변경할 수있는 곳 (변경할 수있는 권한이 없음) (예 : Infobox). 기본 클릭 이벤트를 변경하는 유일한 방법은 google js 코드를 변경하는 것이며 이로 인해 Google 사용 정책이 위반됩니다.

도와 드리고 싶습니다만, 귀하의 계획은 불가능할 것 같습니다.

추신 :)

건배 죄송합니다 나쁜 영어를 위해, 나는 스위스 - 독일어입니다. 프랭크

+0

는 어디에서 문서 기본 구글 -지도 층이 **하지 ** KML을 것을 당신의 주장을 지원을 찾을 수 있습니까? – smartcaveman

+1

KML은 Google지도에서 사용할 수있는 다양한 레이어 중 하나입니다. KML은 지형 데이터를 오버레이로 렌더링하는 공개 형식입니다. 많은 다른지도가 지원합니다 ... Google지도에 KML 파일을 렌더링하는 클래스가 있지만 Google지도는 KML을 기반으로하지 않습니다. http://googlegeodevelopers.blogspot.com/2010/05/kml- traffic-and-bicycling-layers-come.html KML이 무엇이며 무엇이 아닌지 여기에서 읽어보세요. http://en.wikipedia.org/wiki/Keyhole_Markup_Language 및 레이어 : http : // 비트.ly/tb3Fcb KML 및 레이어의 원리를 이해하면 baselayer가 KML이 될 수 없다는 것을 알고 있습니다.) –

+2

@frank_neff가 맞습니다 ... Google Maps API v3 KML, 교통 및 자전거 경로에 대한 지원이 추가되었습니다. 기본 KML 레이어를 요청하는 것은 기본 '자전거 경로'레이어를 요청하는 것과 같습니다. 분명히 말이되지 않습니다. – Omtara

관련 문제