関連記事
MarkerShape Properties coords
このプロパティはマーカーのクリック領域を設定する
MarkerShapeの形を指定します。
指定出来るタイプは
circle、poly、rectの3つです。
circleは[x1, y1, r]
x1とy1は中心座標で
rは半径です。
polyは[x1,y1,x2,y2...xn,yn]
xとyをペアにして座標を指定していきます。
詳しくは下記の記事を参考にして下さい。
MarkerShape Properties coords
rextは[x1,y1,x2,y2]
x1,y1は左上の座標で
x2,y2は右下の座標になります。
指定する座標は全て使用する画像マーカーの左上が基準(0,0)となり、
右と下を正の方向になります。
サンプルでは下記の画像をマーカーとして設定します。
サイズは幅:146px、高さ:187pxです。
青い円は半径50pxの円になります。

とく意味のないマーカーですが、説明用に作りました。
クリッカブル領域は下記のように設定します。
shape: {
coord: [50, 137, 50],
type: "circle"
}
マーカーの青い丸の部分だけ触れるようになっています。以下サンプルです。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8" />
<title>google maps api v3</title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
google.maps.event.addDomListener(window, "load", function () {
var map = document.getElementById("map_canvas");
var latlng = new google.maps.LatLng(35.658580, 139.745433);
var mapOptions = {
zoom: 15,
center: latlng
};
var gmap = new google.maps.Map(map, mapOptions);
var marker = new google.maps.Marker({
map: gmap,
position: latlng,
icon: "http://goo.gl/qZcVMN",
shape: {
coord: [50, 137, 50],
type: "circle"
}
});
// ここから下はshapeメソッドの機能確認用のイベントです。
google.maps.event.addListener(marker, "mouseover", function () {
this.setOpacity(0.5);
});
google.maps.event.addListener(marker, "mouseout", function () {
this.setOpacity(1.0);
});
// ここまで下はshapeメソッドの機能確認用のイベントです。
});
</script>
</head>
<body>
<div id="map_canvas" style="width: 400px; height: 400px"></div>
</body>
</html>
0 件のコメント:
コメントを投稿