<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript" language="javascript">
google.load("jquery", "1.3.2");
google.setOnLoadCallback(function() {
$("#ballon_location").click(function() {
$("#BallonLocation").append(window.location.href);
});
});
</script>
<title>無題 1</title>
</head>
<body>
<input id="ballon_location" type="button" value="Loacation" />
<div id="BallonLocation"></div>
</body>
</html>今回のKMZファイルはこちらです。
前回はgoogle.setOnLoadCallbackを使わなかったり、buttonにonclickを書いたり、お行儀が悪かった点を修正していますが、やってることはwindow.location.hrefにより現在のURLを確認するというものです。
結論から言えば動作しました。
あたり前のことですが、KMZファイルはダウンロードして使用するわけですから、ローカル環境のパスが表示されます。
JavaScriptでXMLを扱う場合に使用するXMLHttpRequestにはクロスドメインの問題があります。対策の一つに、自サーバーに取得したXMLをそのまま返すCGIなどを置き、そこを経由するというものがあります。ローカル環境にダウンロードしてしまうということであれば、この対策は使えません。
しかし、先ほどのKMZファイルをネットワークリンクを介して開いてlocation.hrefを確認してみてください。今度はアップロードしてある先のURLが表示されます。
これなら、先程の対策や、Google AJAX Feed APIの使用も問題無いように思われます。
というわけで、JavaScriptを使用するときは、ネットワークリンクを使うと嬉しい場合がありそうという確認でした。


0 コメント:
コメントを投稿