2014年9月1日月曜日

Marker Constant MAX_ZINDEX


この定数はAPIが自動でマーカーに割り当てるzIndexの最大値になります。
この数値より大きい値を強調したいマーカーに設定すれば、
他のマーカーよりも前面に表示することが出来ます。

サンプルでは
var maxZIndex = google.maps.Marker.MAX_ZINDEX;
marker_A.setZIndex(maxZIndex + 1);
としてマーカーAを最前面に表示しています。
マーカーが2つしかないので何とも地味ですが、
一応マーカーAは最前面にいます。
APIが自動で割り当てるzIndexはランダムなので、
marker_A.setZIndex(1000);
などとやっても最前面に表示される保証はありません。

以下サンプルです。
<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_A = new google.maps.Marker({
                map: gmap,
                position: { lat: 35.6585, lng: 139.745 }
            });
            var marker_B = new google.maps.Marker({
                map: gmap,
                position: { lat: 35.6580, lng: 139.745 }
            });
            var maxZIndex = google.maps.Marker.MAX_ZINDEX;
            marker_A.setZIndex(maxZIndex + 1);
        });
    </script>
</head>
<body>
    <div id="map_canvas" style="width: 400px; height: 400px"></div>
</body>
</html>

このエントリーをはてなブックマークに追加

0 件のコメント:

コメントを投稿