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

Polygon: strokePosition

strokePositionはPolygonクラスのオプションです。ポリゴンの線の位置を調整します。線が太い時、辺の外側、内側、中央、どこに寄せるかで形の印象も変わります。

StrokePosition

線の位置を表すStrokePosition定数を指定する。

var opts = {
	strokePosition: google.maps.StrokePosition.OUTSIDE ,
} ;

デモ

strokePositionを指定したデモです。線の位置を内側、中央、外側と調整できます。

カスタム

var polygon = new google.maps.Polygon( {
	map: map ,
	paths: [
		new google.maps.LatLng( 35.7113 , 139.8099 ) ,
		new google.maps.LatLng( 35.7106 , 139.8088 ) ,
		new google.maps.LatLng( 35.7091 , 139.8088 ) ,
		new google.maps.LatLng( 35.7088 , 139.8107 ) ,
		new google.maps.LatLng( 35.7100 , 139.8120 ) ,
		new google.maps.LatLng( 35.7093 , 139.8135 ) ,
		new google.maps.LatLng( 35.7116 , 139.8128 ) ,
		new google.maps.LatLng( 35.7109 , 139.8120 ) ,
	] ,
	strokeWeight: 36 ,
	strokeColor: "red" ,
	strokeOpacity: 0.75 ,
	strokePosition: google.maps.StrokePosition.OUTSIDE ,
} ) ;

デフォルト

var polygon = new google.maps.Polygon( {
	map: map ,
	paths: [
		new google.maps.LatLng( 35.7113 , 139.8099 ) ,
		new google.maps.LatLng( 35.7106 , 139.8088 ) ,
		new google.maps.LatLng( 35.7091 , 139.8088 ) ,
		new google.maps.LatLng( 35.7088 , 139.8107 ) ,
		new google.maps.LatLng( 35.7100 , 139.8120 ) ,
		new google.maps.LatLng( 35.7093 , 139.8135 ) ,
		new google.maps.LatLng( 35.7116 , 139.8128 ) ,
		new google.maps.LatLng( 35.7109 , 139.8120 ) ,
	] ,
	strokeWeight: 36 ,
	strokeColor: "red" ,
	strokeOpacity: 0.75 ,
} ) ;

サンプルコード

<!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 ,
} ) ;

// Polygon
var polygon = new google.maps.Polygon( {
	map: map ,
	paths: [
		new google.maps.LatLng( 35.7113 , 139.8099 ) ,
		new google.maps.LatLng( 35.7106 , 139.8088 ) ,
		new google.maps.LatLng( 35.7091 , 139.8088 ) ,
		new google.maps.LatLng( 35.7088 , 139.8107 ) ,
		new google.maps.LatLng( 35.7100 , 139.8120 ) ,
		new google.maps.LatLng( 35.7093 , 139.8135 ) ,
		new google.maps.LatLng( 35.7116 , 139.8128 ) ,
		new google.maps.LatLng( 35.7109 , 139.8120 ) ,
	] ,
	strokeWeight: 36 ,
	strokeColor: "red" ,
	strokeOpacity: 0.75 ,
	strokePosition: google.maps.StrokePosition.OUTSIDE ,
} ) ;

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

polygon.getPaths().forEach( function ( LatLngs ) {
	LatLngs.forEach( function ( LatLng ) {
		LatLngBounds.extend( LatLng ) ;
	} ) ;
} ) ;

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

デモページを開く

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