クリックした地点の高度(海抜)を求める

説明

クリックした地点の高度(海抜)を求めるには、マップ上でのクリックイベントを捕捉します。イベントハンドラにはMouseEventオブジェクトが渡されます。そのMouseEventオブジェクトにLatLngオブジェクトが入ります。このLatLngオブジェクトをgetElevationForLocations()のオプションパラメータlocationsに指定します。
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
}
);
// クリックした地点の高度を求める
google.maps.event.addListener(map, "click", function(clickPoint) {
var elevator = new google.maps.ElevationService();
elevator.getElevationForLocations({
"locations": [ clickPoint.latLng ]
}, function(results, status){
if (status == google.maps.ElevationStatus.OK){
alert(results[0].elevation+"m");
}else{
alert("高度の取得に失敗しました");
}
});
});
</script>
</body>
</html>