指定した地点の高度(海抜)を求める

説明

指定した地点の高度(海抜)を求めるにはgoogle.maps.ElevationService()を使います。作成されたオブジェクトのgetElevationForLocations()メソッドにより指定した地点の高度を求めることができます。getElevationForLocations()の最初のオプションパラメータlocationに配列形式で求めたい場所の緯度経度を指定します。getElevationForLocations()の2番目のパラメータには関数を指定します。この関数は高度の取得に成功または失敗した場合に呼び出されます。
関数には2つのパラメータが渡されます。最初のパラメータが高度情報などを格納したオブジェクト、2番目のパラメータがステータスになります。このステータスがOKであれば高度が取得できた事になります。このステータスには以下のものがあります。

google.maps.ElevationStatus.OKOK。高度の取得に成功した
google.maps.ElevationStatus.INVALID_REQUESTリクエストが無効
google.maps.ElevationStatus.OVER_QUERY_LIMITリクエストの制限回数を超えた
google.maps.ElevationStatus.REQUEST_DENIED高度を取得するサービスは使えなかった
google.maps.ElevationStatus.UNKNOWN_ERROR原因不明のエラー

高度はresults[0].elevationプロパティを参照すれば取得できます。プロパティに格納されているのは数値であり単位はメートルになります。
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 shiojiriStation = new google.maps.LatLng(36.11453636986865, 137.94893994927406);
var map = new google.maps.Map(
document.getElementById("gmap"),{
zoom : 16,
center : shiojiriStation,
mapTypeId : google.maps.MapTypeId.TERRAIN
}
);
// 高度を求める
var elevator = new google.maps.ElevationService();
elevator.getElevationForLocations({
"locations": [ shiojiriStation ]
}, function(results, status){
if (status == google.maps.ElevationStatus.OK){
alert(results[0].elevation);
}else{
alert("高度の取得に失敗しました");
}
});
</script>
</body>
</html>