6

GoogleMapsKMLレイヤーのクリックイベントを使用しています。

私はこのコードを使用しています:

function initialize() {
  var mapOptions = {
    center: new google.maps.LatLng(41.875696, -87.624207),
    zoom: 11,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };

  var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);

  var ctaLayer = new google.maps.KmlLayer('https://sites.google.com/site/anoopkml123/kml/ab9Plan0520.kmz');

  ctaLayer.setMap(map);

  google.maps.event.addListener(ctaLayer, 'click', function(kmlEvent) {
    alert(kmlEvent.featureData.name);
  });
}

alert(kmlEvent.featureData.name)数字が表示されることもありますが、「未定義」の場合もあります。nullの場合もobj.featuredData.idあります(ZERO_RESULTSステータスはステータスフィールドにあります)。

4

1 に答える 1

1

フィドルでコードを再作成しました: http://jsfiddle.net/mdares/TAfys/

あなたが抱えている問題を再現できません。上記のリンクが失敗する場所の例を挙げていただけますか? これはおそらくブラウザ固有ですか?最後に、投稿していない追加のコードが原因である可能性がありますか? あなたが投稿したように、私のコードはあなたのものから変更されていませんが、他のことも行っているかどうか知りたいです:

function initialize() {
var mapOptions = {
    center: new google.maps.LatLng(41.875696, -87.624207),
    zoom: 11,
    mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);

var ctaLayer = new google.maps.KmlLayer('https://sites.google.com/site/anoopkml123/kml/ab9Plan0520.kmz');
ctaLayer.setMap(map);
google.maps.event.addListener(ctaLayer, 'click', function (kmlEvent) {
    alert(kmlEvent.featureData.name);
   });
}
于 2013-01-22T23:00:03.030 に答える