- 締切済み
googlemap api での 座標の取得
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> のところには表示されます。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- mflow
- ベストアンサー率63% (42/66)
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の値を文字列として連結しフォームを作成するということです。
- talepanda
- ベストアンサー率58% (45/77)
もしかして、ですが、同じidを重複して使ってませんか? そうであれば、いろいろと問題が出てきます。 >緯度<p id="show_x"></p> >経度<p id="show_y"></p> これを削除してみては?
- mflow
- ベストアンサー率63% (42/66)
こうじゃないでしょうか。 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>);
- talepanda
- ベストアンサー率58% (45/77)
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; じゃないでしょうか?
補足
アドバイスありがとうございます。 後に書いたのですが、同じくダメです。
- himajin100000
- ベストアンサー率54% (1660/3060)
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> では空のままです。
補足
アドバイスありがとうございます。 上のようにすると、フォームに value として '+ point.x +' '+ point.y +' という文字列が入るだけで値が入りません。