グーグルマップの初期表示地点のリストボックスでの選択
宜しくお願いします。
以下のような、XMLファイルを使用してグーグルマップに複数のマーカーを表示させるスクリプトが
在ります。XMLファイルは、kmlsample1.kml、kmlsample2.kml、kmlsample3.kmlを設定し、
スクリプト中の[URL指定]の箇所に各ファイルの存在するフォルダを絶対パスで指定します。
HTMLにあるリストボックスでマーカーを地図に表示させるkmlファイルを選択するのですが、
このスクリプトでは、どのkmlファイルを選んでも初期の地図の表示中心地点がJavaスクリプト中の
「//地図を作製」から2行下で指定されている(43.068625, 141.350801)の地点でしか、
表示されない仕様になっています。
選んだセレクトボックスにより3通りの表示地点が現れるようにしたいのですが、
方法が分かりません。
どの様に書き換えれば良いのかご教授をお願い致します。
========= Java・HTML =================
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<title>Google Maps </title>
<script src=""http://maps.google.co.jp/maps?file=api&v=2&key=[GoogleMaps APIキー]"type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
var map;
var geoXml = null;
function load() {
if (GBrowserIsCompatible()) {
//地図を作成
map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(43.068625, 141.350801), 12); ←*ABCによって変更したい
map.addControl(new GLargeMapControl());
markerChange(document.getElementById("markerSelect"));
}
}
function markerChange(selectBox){
var kmlFile = selectBox.options[selectBox.selectedIndex].value;
if(geoXml){
map.removeOverlay(geoXml);
}
geoXml = new GGeoXml("http://[URL指定]/" + kmlFile);
map.addOverlay(geoXml);
}
GEvent.addDomListener(window, "load", load);
GEvent.addDomListener(window, "load", prettyPrint);
GEvent.addDomListener(window, "unload", GUnload);
//]]>
</script>
</head>
<body>
<TR><font size="3">例:セレクトボックスで選択したマーカーを表示する(KML)</font></TR>
<div id="map" style="width: 1000px; height: 600px"></div>
<p>各区にある店舗<br />
<select id="markerSelect" onChange="javascript:markerChange(this);">
<option value="kmlsample1.kml" selected="selected">A区</option>
<option value="kmlsample2.kml">B区</option>
<option value="kmlsample3.kml">C区</option>
</select>
========================XMLファイル例「kmlsample1.kml」===========
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.2">
<Document>
<Folder>
<name>A区の物件</name>
<Placemark>
<name>第一マンション</name>
<description><![CDATA[<a href="" target="_blank">詳細</a>]]>
</description>
<Point><coordinates>14○.357234, 4○.038694, 0</coordinates></Point> ←○は任意の半角数字
</Placemark>
<Placemark>
<name>第二マンション</name>
<description><![CDATA[<a href="" target="_blank">詳細</a>]]>
</description>
<Point><coordinates>14○.334967, 4○.035413, 0</coordinates></Point> ←○は任意の半角数字
</Placemark>
</Folder>
</Document>
</kml>
</body>
</html>
補足
>と、言うところの「KMLファイル」とは? "Google Earth で表示" というところをクリックすると、 ダウンロードされる「XXX(作成したマップの名称).kml」のことです。 ちなみに"Google Earth で表示" はログインしていないと 表示されないようです。 >>つまり、encoding Shift_JISは、サポートしていない 私も同じ認識です。 ダウンロードした「KMLファイル」のソースは、 <?xml version="1.0" encoding="UTF-8"?>となっているので Shift_JISは使われてません。 このファイルを別のWebサーバにUploadして、アップしたデータのあるURLを GoogleMapの"地図を検索"で検索すると、作成した地図が表示されます。 ここまでは問題がないのですが、この画面から"マイマップに保存"を クリックすると、前述の"読み込めません..."から始まるエラーが表示されます。