地理情報をKMLで記述して、いざ、GGeoXmlでロードしようとしたところ、何かしらオーバーレイは生成されているようですが、マーカーもポリラインも表示されず。
var map = new GMap2(document.getElementById('map'));
...
var gx = new GGeoXml('http://localserver/sample.kml');
map.addOverlay(gx);
けど、Mappletサービスの「KMLオーバーレイとGeoRSSオーバーレイ」で例示されるKMLファイルをロードすると、期待通りの振る舞い。さんざん調べた挙句、開発環境のhttpdにKMLファイルへアクセスした形跡がないことに気付き、ググッてみると、ありました。たぶん、これと同じ原因。
GGeoXml is not loading
If the Google server can't read your files, then GGeoXml can't render them.
私の陥った現象は、おそらく、
- 私が作成したKMLファイルは開発環境下で動作するhttpdに配置している
- 当然、そのhttpdを運用するPCはイントラネットに属している
- 外部ノードからそのPCにHTTP接続できない→ つまり、Google サーバが私のKMLファイルを見つけられない
自分の書いたKMLファイルから生成されたオーバレイを確認するための方法を考えなければ…困った。