アプリ版:「スタンプのみでお礼する」機能のリリースについて

Googlemap でマーカーの吹き出しに指定のHtmlを表示するように書いたつもりなのですが、IEとオペラでは意図どうりに表示されるのですがFFとNNではマーカーが表示されません。
javascriptはあまり得意ではないのでわかりやすく説明して頂けると他助かります。


//<![CDATA[
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));

map.setCenter(new GLatLng(43.05578, 141.353257), 15);

map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());

kyaba =[
[141.353075, 43.053673, "ダミー", "ダミー2", "ダミー3"],
[141.352919, 43.054167, "ダミー", "ダミー2", "ダミー3"]
];



for (i = 0; i < kyaba.length; i++){
point = new GPoint(kyaba[i][0], kyaba[i][1]);
dada = "<p>" + kyaba[i][2] + "</p>" + "<p>" + kyaba[i][3] + "</p>" + "<p>" + kyaba[i][4] + "</p>";
createMarker(point, dada);

function createMarker(point,msg){
var marker = new GMarker(point);
map.addOverlay(marker);
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(msg);
});
}
}


}
}
//]]>
</script>

A 回答 (1件)

FireFoxで試してみましたところ、createMarker is not defined というErrorが出ました。

 よって既に記述済み function load(){} 内より
createMarker()関数を load() 外に出してあげると動作します。 NNは試 していません。 すすきのは10年位前に一度行ったことがあります。

//<![CDATA[
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(43.05578, 141.353257), 15);
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
kyaba =[
[141.353075, 43.053673, "ダミー", "ダミー2", "ダミー3"],
[141.352919, 43.054167, "ダミー", "ダミー2", "ダミー3"]
];

for (i = 0; i < kyaba.length; i++){
point = new GPoint(kyaba[i][0], kyaba[i][1]);
dada = "<p>" + kyaba[i][2] + "</p>" + "<p>" + kyaba[i][3] + "</p>" + "<p>" + kyaba[i][4] + "</p>";
createMarker(point, dada);
}
}
function createMarker(point,msg){
var marker = new GMarker(point);
map.addOverlay(marker);
GEvent.addListener(marker, "click", function() {
marker.openInfoWindowHtml(msg);
});
}
}

//]]>
</script>
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!