関連記事
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 件のコメント:
コメントを投稿