내지도 api에서 kml 파일을로드하는 중 Im이 코드를 사용하여 클릭 이벤트를 발생 시켰습니다.모양을 설정하는 방법 kml에서 editabe
google.maps.event.addListener(ctaLayer, 'click', function (kmlEvent) {
setSelection(kmlEvent.featureData.name);
//alert(kmlEvent.featureData.name);
//showInContentWindow(text);
});
은 그게 전부는 함수
function setSelection(shape) {
clearSelection();
selectedShape = shape;
shape.setEditable(true);
}
내가 그것으로이 문제가 아니오, KML 파일이 나에게 각각 다른 이름이 다각형을 제공 호출합니다. Tester
및 jahoor
. 하지만 jahoor
을 클릭하면 언제나 다각형 Tester
을 얻을 수 있습니다. 왜 다른 것들을 선택할 수 없습니까?
두 번째 문제는 kml 편집 가능한 폴리곤을 다시 설정할 수 없다는 것입니다. 오류가 발생합니다. Uncaught TypeError: Object Tester has no method 'setEditable'
누군가 내가 잘못하고있는 것을 알고 있습니까?
조각 KML 파일의 구글 API의 문서 스택에 또는에서 찾을 수 있습니다 : KmlLayer를에서
<Placemark id="Tester">
<styleUrl>#transYellowPolyActive</styleUrl>
<name>Tester</name>
<Polygon>
<outerBoundaryIs>
<LinearRing>
<tessellate>0</tessellate>
<coordinates> 6.30889892578125,53.28820543193896 6.29791259765625,53.28410053532493 6.233367919921875,53.21096737507053 6.5093994140625,53.19698389904798 6.50390625,53.27096221595853
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark id="jahoor">
<styleUrl>#transYellowPolyActive</styleUrl>
<name>jahoor</name>
<Polygon>
<outerBoundaryIs>
<LinearRing>
<tessellate>0</tessellate>
<coordinates> 6.168479919433594,53.30318495818702 6.143760681152344,53.29579845109269 6.138267517089844,53.27281003615208 6.195259094238281,53.2707568976735 6.2010955810546875,53.29867113343524
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
오류 '개체 테스터의 "지도에 KML을 구문 분석"버튼을 클릭있는 방법'은'new'를 사용하지 않고 테스터 생성자를 호출하기 때문에 setEditable''이 될 수가 없습니다. 다른 문제는 클로저 문제와 비슷하지만 코드가 없으면 말하기 어렵습니다. –
무슨 뜻인지 설명해 주시겠습니까? –
'new' : 당신의 객체 테스터가 분명히 정의되었습니다. 그렇지 않으면 정의되지 않은 객체에 대한 오류가 발생합니다. 제대로 초기화되지 않은 것 같습니다. 그 이유는'name.pgk.Tester()'라고 부르는'new name.pkg.Tester()'를 호출하는 대신에 예일 수 있습니다. 이것은 단지 추측입니다. –