1

簡単なグーグルマップのウェブページを開発しました。グーグルマップの経験がある人なら誰でも助けが必要です。Webページの右側のパネルにいくつかのチェックボックスを追加し、さまざまなkmlをこれらのチェックボックスにリンクしたいと思います。すべてのレイヤーをチェックすると、すべてのkmlがGoogleマップに表示され、レイヤーのチェックボックスをオフにすると、そのチェックボックスに関連するkmlが消えます。これを行う方法を教えてください。このリンクのページを確認してください http://toptrippk.com/webgis/kml%20layers.html

4

1 に答える 1

0

次の構造を提案します。この方法を使用すると、レイヤーごとに個別の関数を記述する必要はなく、このレイヤーのみを記述できます。ここで「input」タグの「id」は KML ファイル名として使用されることに注意してください。おそらくこの質問を見たいと思うでしょう。楽しみにしている場合は、 geoxml3がオプションになる可能性があります。

var G = google.maps;
function toggle() {
if (!this.kml)
{this.kml = new G.KmlLayer('http://toptrippk.com/webgis/uploadfiles/kml/' + this.id + '.kml', {preserveViewport:true}); this.on = false};

if (this.on)
{this.kml.setMap(null); this.on = false} else {this.kml.setMap(map); this.on = true};
};

function initialize() {
var layers = document.getElementsByTagName('input');
var options = {};
map = new G.Map(document.getElementById('map_canvas'), options);
for (var i=0; i<layers.length; i++) {G.event.addDomListener(layers[i], 'click', toggle)};};
G.event.addDomListener(window, 'load', initialize);
于 2012-05-19T13:21:09.217 に答える