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

Marker: icon

iconはMarkerクラスのオプションです。マーカーの画像を変更できます。

string | Icon | Symbol

URLを文字列で指定した場合は、その画像ファイルが表示される。大きさなど細かく調整する場合はIconオブジェクトを指定する。画像にSVGを使いたい場合はSymbolオブジェクトを指定する。

var opts = {
	icon: "./marker.png" ,
} ;

デモ

iconを指定したデモです。文字列、Iconオブジェクト、Symbolオブジェクト、それぞれで指定した場合を比較して下さい。

画像 (string)

URLを指定すると、その画像ファイルがオリジナルサイズでそのまま表示されます。

var marker = new google.maps.Marker( {
	map: map ,
	position: map.getCenter() ,
	icon: "./marker.png" ,
} ) ;

Icon

画像ファイルや、その画像ファイルをどのサイズで表示するかなど、細かい調整が可能です。Retinaにも対応できます。前項と同じ画像を、半分のサイズで表示しています。

var marker = new google.maps.Marker( {
	map: map ,
	position: map.getCenter() ,
	icon: {
		url: "./marker.png" ,
		scaledSize: new google.maps.Size( 50, 50 ) ,
	} ,
} ) ;

Symbol

SVGで画像を指定できます。

var marker = new google.maps.Marker( {
	map: map ,
	position: map.getCenter() ,
	icon: {
		fillColor: "gold" ,
		fillOpacity: 1 ,
		path: "M0 8h22L4 22L11 0L18 22z" ,
		scale: 8 ,
		anchor: new google.maps.Point( 11, 11 ) ,
	} ,
} ) ;

サンプルコード

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

// Marker
var marker = new google.maps.Marker( {
	map: map ,
	position: map.getCenter() ,
	icon: "https://lab.syncer.jp/Web/API/Google_Maps/JavaScript/Marker/icon/marker.png" ,
} ) ;
	</script>
</body>
</html>

デモページを開く

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