Google Maps APIがらみのメモ

Google Maps APIにて、InfoWindowが開いた状態でてきとーなところをクリックした場合、
・click
・infowindowclose
の順でイベントが起こる。まぁ当たり前といっちゃ当たり前なんだけど、深みにはまってしまった。ここで、clickイベント発生時に別のInfoWindowを開くようプログラムした場合、
・click
・infowindowclose
・infowindowopen
の順でイベントが発生する。これも考えちゃ当たり前なんだろうけど。30分くらいはまりました。

Ajaxを使う時、XmlHttpRequest.responseXML.documentElementを参照したときにIEにて、
「documentElementはnullまたはオブジェクトではありません」
のエラーが出る場合がある。しかもXmlHttpRequest.responseTextあたりは問題なく参照できる。そんな場合、XmlHttpRequest.openするときに与えた引数のURIで、サーバからの返事で、Content-type:でapplication/xmlもしくはtext/xmlを返していないのが原因でしょう。1時間くらいもろはまりました・・・

PHPでXMLを使う場合(php-domxml)、domxml_open_memを呼ぶと
PHP Warning: domxml_open_mem(): input conversion failed due to input error
などのWarningが出る。これはどうやら文字コードに起因する模様。
<?xml version="1.0" encoding="UTF-8" ?>
といった文字コードの宣言と実際に入力された文字コードとをちゃんと確認しましょう。結構はまったけど、原因はこの次に書くやつが根本だった。

たとえEUC-JPなHTMLのページからJavaScriptでXMLHttpRequestを使う場合でも、明示的に指定しない限りPOSTされたデータはUTF-8で送られることになる。しかも、POSTなのでデータはいわゆるURLエンコードされた状態で送られる(ココに一番はまった)。参考(http://www.hawk.34sp.com/stdpls/xml/xmlhttprequest.html)ページを読む限り、明示的に指定しても怪しいのかな?上のやつと併せて、実質2時間くらいはまった。てか、あまりに深みにはまったのでふて寝したら1日が終わった。

apt-getでphp-domxmlを入れたとき、コマンドラインからはちゃんと動作するのに、Webからアクセスするときにphp-domxml関連のクラス・関数が動かなかった。Apacheはphpをmodとして動かしているので、新しくPHPのライブラリを入れたらApacheも再起動しないといけないです。5分くらいはまりました。

このブログ記事について

このページは、らるるが2005年10月 7日 22:42に書いたブログ記事です。

ひとつ前のブログ記事は「タスクスケジュール」です。

次のブログ記事は「Google Maps Farm β」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

ウェブページ

Powered by Movable Type 7.9.0