0

jquery-ui-map プラグインを markerclusterer と一緒に使用しています。

マーカーは、外部の JSON ファイルから読み込まれます。これは、各情報ウィンドウにマーカーとコンテンツを追加するのに最適です。これまでのところ問題はありません。

jQuery、jQuery UI Map、および MarkerClusterer スクリプトは、ドキュメントで適切に参照されています。ただし、マーカーをクラスター化できないようです。

ここで、マップを表示するスクリプトを示します。私は何かを監督しましたか?

$('#map_canvas').gmap().bind('init', function(event, map) {

    $.getJSON( MY_JSON_URL, function(data) {
        $.each( data.posts, function(i, marker) {
            $('#map_canvas').gmap('addMarker', { 
                'position': new google.maps.LatLng(marker.custom_fields._cmb_tatort_map_latitude, marker.custom_fields._cmb_tatort_map_longitude)
            }).click(function() {
                $('#map_canvas').gmap('openInfoWindow', { 
                    //some content here
                }, this );
            }); 
        });
    });

    $('#map_canvas').gmap('set', 'MarkerClusterer', new MarkerClusterer($('#map_canvas').gmap('get', 'map'), $('#map_canvas').gmap('get', 'markers')));

});
4

1 に答える 1

1

マーカー クラスタラーは、マーカーがマップに追加される前ではなく、追加された後に作成する必要があります。

$('#map_canvas').gmap().bind('init', function(event, map) {

    $.getJSON( MY_JSON_URL, function(data) {
        $.each( data.posts, function(i, marker) {
            $('#map_canvas').gmap('addMarker', { 
                'position': new google.maps.LatLng(marker.custom_fields._cmb_tatort_map_latitude, marker.custom_fields._cmb_tatort_map_longitude)
            }).click(function() {
                $('#map_canvas').gmap('openInfoWindow', { 
                    //some content here
                }, this );
            }); 
        });
       $('#map_canvas').gmap('set', 'MarkerClusterer', new MarkerClusterer($('#map_canvas').gmap('get', 'map'), $('#map_canvas').gmap('get', 'markers')));

    });


});
于 2014-04-24T12:39:08.300 に答える