• 締切済み

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> のところには表示されます。

みんなの回答

  • mflow
  • ベストアンサー率63% (42/66)
回答No.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の値を文字列として連結しフォームを作成するということです。

  • talepanda
  • ベストアンサー率58% (45/77)
回答No.4

もしかして、ですが、同じidを重複して使ってませんか? そうであれば、いろいろと問題が出てきます。 >緯度<p id="show_x"></p> >経度<p id="show_y"></p> これを削除してみては?

  • mflow
  • ベストアンサー率63% (42/66)
回答No.3

こうじゃないでしょうか。 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>);

takizawa-777
質問者

補足

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

  • talepanda
  • ベストアンサー率58% (45/77)
回答No.2

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; じゃないでしょうか?

takizawa-777
質問者

補足

アドバイスありがとうございます。 後に書いたのですが、同じくダメです。

回答No.1

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); くらいはやらないと動かないような気がします

takizawa-777
質問者

補足

アドバイスありがとうございます。 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> では空のままです。

関連するQ&A