KMLデータを読み込み表示する(標準のマーカー表示のみ)

説明

KMLデータを読み込み表示するにはgoogle.maps.KmlLayer()を使います。パラメータにはKMLファイルがあるURLを指定します。別ドメインにあるKMLファイルも指定することができます。KMLのURLを指定する際に、アクセス時の時間をURLパラメータとして追加しておきます。これはKMLファイルがブラウザにキャッシュされてしまい古いKMLファイルが利用されるのを防ぐためです。
マップ上にマーカーを表示するにはgoogle.maps.KmlLayer()で生成したKMLLayerオブジェクトのsetMap()メソッドを使います。setMap()メソッドのパラメータに表示先のマップオブジェクトを指定します。
なお、本サンプルで使用しているKML (XMLタグ)は以下の通りです。


Placemark一カ所の位置情報。マーカーを表示する場所がある場合は複数記述する
name名前。情報ウィンドウに太字で表示されるタイトルになる
description説明。情報ウィンドウ内に表示される通常の文字、文章になる
Point緯度、経度、高度を含む位置データを内包
coordinates緯度、経度、高度のデータ。高度は省略可能

Google Maps APIプログラミング入門 Google Maps API プログラミング入門。Google Maps API Expertである勝又雅史氏が最新のAPI ver3やGoogle Maps for Flashなどについて解説しています。
アマゾンで購入する

サンプルコード [実行]

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>Google Maps API ver 3 Sample/グーグルマップAPIサンプル/Google Maps API样品</title>
<link rel="stylesheet" href="css/main.css" type="text/css" media="all">
<script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script>
</head>
<body>
<div id="gmap"></div>
<script type="text/javascript">
var map = new google.maps.Map(
document.getElementById("gmap"),{
zoom : 10,
center : new google.maps.LatLng(0,0),
mapTypeId : google.maps.MapTypeId.ROADMAP
}
);
// KML読み込み表示
var ctime = (new Date()).getTime();
var myKMLLayer = new google.maps.KmlLayer("http://www.openspc2.org/reibun/Google/Maps/API/ver3/code/map/KML/0001/sample/station.kml?t="+ctime);
myKMLLayer.setMap(map);
</script>
</body>
</html>

■KML
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Placemark>
<name>塩尻駅</name>
<description>長野県にある塩尻駅です</description>
<Point>
<coordinates>137.94788718223572, 36.11419076502905, 0</coordinates>
</Point>
</Placemark>
</kml>