0

情報ウィンドウのリンクからJavaScriptを呼び出すことは可能ですか? それが可能であることを知っていますが、私の場合、iを宣言する方法がわかりませんか?

i はポリゴン番号で、関数 kmlShowPlacemark(i)を呼び出すことを意味します。

これが私の例です:

function clickablePolygon(placemark, info, i) {
     var name = geoXmlDoc.placemarks[i].name;
     var numMkrs = geoXmlDoc.placemarks[i].numMarkers;
     google.maps.event.addListener(placemark.polygon, "click", function(e) {
        if (e && e.latLng) {
             infowindow.setPosition(e.latLng);
        } else {
             infowindow.setPosition(placemark.polygon.bounds.getCenter());
        }
    infowindow.setContent('<div class="geoxml3_infowindow"><h3>' + placemark.name +
           '</h3><div>' + info + '<br><a href="javascript:kmlShowPlacemark('+ i + ');">Show place</a></div>');
        infowindow.open(map); 
     });
}
4

2 に答える 2

1

これは私にとってはうまくいきます.InfoWindowのHTMLが無効であるように見えます(それが私が見る唯一の本当の違いです):

function clickablePolygon(placemark, info, i) {
  google.maps.event.addListener(placemark.polygon, "click", function(e) {
    if (e && e.latLng) {
      infowindow.setPosition(e.latLng);
    } else {
      infowindow.setPosition(placemark.polygon.bounds.getCenter());
    }
    infowindow.setContent('<div class="geoxml3_infowindow"><h3>' + placemark.name +
               '</h3><div>' + info + '</div>'+'<br><a href="javascript:kmlShowPlacemark('+ i + ');">Show place</a></div>');
    infowindow.open(map);
  });
}

修正された概念実証

于 2013-03-20T05:51:14.557 に答える
0

次のことを試してください。

交換:

<a href="javascript:kmlShowPlacemark('+ i + ');">Show place</a>

<a href="#" onclick="kmlShowPlacemark('+ i + '); return false;">Show place</a>
于 2013-03-19T22:13:02.407 に答える