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

googlemap apiを使って地図上をクリックしたところに
吹き出しをつくり、その中のフォームに情報を入力するという
ページを作成してます。
が、うまく座標がとれません。


GEvent.addListener(map, 'click', function(overlay, point) {
if (point) {
document.getElementById("show_x").innerHTML = point.x;
document.getElementById("show_y").innerHTML = point.y;

map.openInfoWindowHtml(point,"<form><tableborder=1><tr><td><input type=text id=\"show_x\"><input type=text id=\"show_y\"></td></tr>);

としていますが、show_x show_y が <input type=text value=***> のところに
入りません。
<body>
緯度<p id="show_x"></p>
経度<p id="show_y"></p>
</body>
のところには表示されます。

A 回答 (5件)

map.openInfoWindowHtml(point,'<form><tableborder=1><tr><td><input type=text id="show_x" value="'+ point.x +'"><input type=text id="show_y" value="'+ point.y +'"></td></tr>');



ちょびっと間違えました。
つまり、getElementByIdでやるんじゃなくて、point.x、point.yの値を文字列として連結しフォームを作成するということです。
    • good
    • 0

もしかして、ですが、同じidを重複して使ってませんか?


そうであれば、いろいろと問題が出てきます。

>緯度<p id="show_x"></p>
>経度<p id="show_y"></p>

これを削除してみては?
    • good
    • 0

こうじゃないでしょうか。



map.openInfoWindowHtml(point,"<form><tableborder=1><tr><td><input type=text id=\"show_x\" value=\"'+ point.x +'\"><input type=text id=\"show_y\" value=\"'+ point.y +'\"></td></tr>);

この回答への補足

アドバイスありがとうございます。

上のようにすると、フォームに value として '+ point.x +' '+ point.y +' という文字列が入るだけで値が入りません。

補足日時:2006/10/23 08:01
    • good
    • 0

map.openInfoWindowHtml(point,"<form><tableborder=1><tr><td><input type=text id=\"show_x\"><input type=text id=\"show_y\"></td></tr>);



の後に

document.getElementById("show_x").innerHTML = point.x;
document.getElementById("show_y").innerHTML = point.y;

じゃないでしょうか?

この回答への補足

アドバイスありがとうございます。

後に書いたのですが、同じくダメです。

補足日時:2006/10/22 23:34
    • good
    • 0

input要素は空要素だから存在しないのでしょう。


Google Maps未経験だし、実験してないので判りませんが

http://www.seo-equation.com/html/html/input
document.getElementById("show_x").setAttribute("value",point.x);
document.getElementById("show_y").setAttribute("value",point.y);

くらいはやらないと動かないような気がします

この回答への補足

アドバイスありがとうございます。

GEvent.addListener(map, 'click', function(overlay, point) {
if (point) {
    document.getElementById("show_x").setAttribute("value",point.x);
    document.getElementById("show_y").setAttribute("value",point.y);

map.openInfoWindowHtml(point,"<form><table border=1><tr><td><input type=text id=show_x><input type=text id=show_y></td></tr>

<body>
<form><input type=text id="show_x"><input type=text id="show_y"></form>
</body>

のなかでは表示されるようになりましたが
やはり
map.openInfoWindowHtml(point,"<form><table border=1><tr><td><input type=text id=show_x>
では空のままです。

補足日時:2006/10/22 22:36
    • good
    • 0

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