イントラネット プロジェクトで作業しているため、KML ファイルを外部から利用できません。これは、XML を Google マップに解析するために geoXML3 ライブラリに依存していることを意味します。ただし、イベント リスナーに関するドキュメントが不足しているため、イライラさせられます。クリックリスナーを呼び出して、geoXML3の目印を渡したいと思います。次のことをしようとしていますが、ループclickListener
で処理された最後のポリゴンを.afterParse
p
kml = new geoXML3.parser({
suppressInfoWindows: true,
map: map,
afterParse: function (doc) {
for (var i = 0; i < doc[0].placemarks.length; i++) {
var p = doc[0].placemarks[i];
google.maps.event.addListener(
p.polygon,
"click",
function () { clickListener(p); }
);
}
}
});
kml.parse(mapSettings.kmlLocation);
Google Maps API の KML サポートを使用していた場合は、これを実行してポリゴンをリスナーに渡すことができます。
kml = new google.maps.KmlLayer(mapSettings.kmlLocation, {
suppressInfoWindows: true,
preserveViewport: false,
map: map
});
google.maps.event.addListener(
kml,
"click",
clickListener
};
(より望ましい) 正しい geoXML3 目印を に確実に渡す方法clickListener
、または (あまり望ましくない) geoXML3.parser
I can bind a click event toのプロパティkmlMouseEvent
を使用して、Google Maps API kml パーサーを使用する方法を受け取る方法はありますか? 最終的には、ポリゴンのスタイルを変更し、配列内で選択/選択解除されたことを追跡できるようにする必要があります。