SYNCERのロゴ
アイキャッチ画像

Polyline: geodesic

geodesicはPolylineクラスのオプションです。ポリラインを測地線に対応させるか否かを調整できます。対応した場合、ポリラインは球体に沿った曲線になります。

boolean

trueなら測地線に対応、falseなら測地線に非対応。

var opts = {
	geodesic: true ,
} ;

デモ

geodesicを指定したデモです。

カスタム

var polyline = new google.maps.Polyline( {
	map: map ,
	path: [
		new google.maps.LatLng( 37.4900318 , 136.4664008 ) ,
		new google.maps.LatLng( 48.8588589 , 2.3470599 ) ,
	] ,
	geodesic: true ,
} ) ;

デフォルト

var polyline = new google.maps.Polyline( {
	map: map ,
	path: [
		new google.maps.LatLng( 37.4900318 , 136.4664008 ) ,
		new google.maps.LatLng( 48.8588589 , 2.3470599 ) ,
	] ,
} ) ;

サンプルコード

<!DOCTYPE html>
<html>
<head>
	<style>
#map-canvas {
	width: 600px ;
	height: 600px ;
}
	</style>
</head>
<body>
	<div id="map-canvas"></div>

	<script src="//maps.googleapis.com/maps/api/js?key={APIキー}"></script>
	<script>
var mapDiv = document.getElementById( "map-canvas" ) ;

// Map
var map = new google.maps.Map( mapDiv, {
	center: new google.maps.LatLng( 35, 139 ) ,
	zoom: 15 ,
} ) ;

// Polyline
var polyline = new google.maps.Polyline( {
	map: map ,
	path: [
		new google.maps.LatLng( 37.4900318 , 136.4664008 ) ,
		new google.maps.LatLng( 48.8588589 , 2.3470599 ) ,
	] ,
	geodesic: true ,
} ) ;

// fit bounds
var LatLngBounds = new google.maps.LatLngBounds() ;

polyline.getPath().forEach( function ( LatLng ) {
	LatLngBounds.extend( LatLng ) ;
} ) ;

map.fitBounds( LatLngBounds ) ;
	</script>
</body>
</html>

デモページを開く

  • Twitterでシェア
  • Facebookでシェア
  • Google+でシェア
  • はてなブックマークでシェア
  • pocketに保存
  • LINEでシェア
更新履歴
2015年9月1日 (火)
コンテンツを公開しました。