在jquery ui map中获取map的实例

时间:2014-02-06 14:01:02

标签: jquery-ui google-maps

我想用 markerClusterer 制作标记,但我无法使用jquery ui map获取地图实例。 js

尝试:

var map = $('#map_canvas')。gmap('getMap'); 要么 var map = $('map_canvas')。gmap('get','map');

之后: var markerCluster = new MarkerClusterer(map,allMarkers);

但有错误

谢谢

2 个答案:

答案 0 :(得分:0)

试过这个。没有错误但没有集群...

$('#map_canvas').gmap({ 'callback': function () {
    var self = this;    
    $.getJSON('Data/markers.json', function (data) {
       $.each(data.markers, function (i, marker) {
        self.addMarker({ 'position': new google.maps.LatLng(marker.latitude,marker.longitude)}).click(function () {
            $.ajax({
                type: "GET",
                url: "/LocoMap/LocoMap/InfoMobilePartialView/",
                data: { latitude: marker.latitude, longitude: marker.longitude},
                success: function (data) {
                $("#marker-info").remove();     
                $(document.body).append("<div id='marker-info' data-role ='page'> </div>");
                var $contentDiv = $("#marker-info");
                $contentDiv.html(data).trigger('create');
                $.mobile.changePage("#marker-info", { changeHash: false,  type: "get", transition: 'pop',rel:"external" });
            },
                error: function (errorData) { onError(errorData); }
                });
            });
         });
     });

            self.set('MarkerClusterer', new MarkerClusterer(this.get('map'), this.get('markers')));

}});

答案 1 :(得分:0)

 $('#map_canvas').gmap({'zoom': 2, 'disableDefaultUI':true}).bind('init', function(evt, map) {
      $.getJSON( 'Data/markers.json', function(data) { 
        $.each( data.markers, function(i, m)                                
             $('#map_canvas').gmap('addMarker', { 'position': new google.maps.LatLng(m.latitude, m.longitude), 'bounds':true } );
          });
       });                                     


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

with no errors and no clusters 
it seems **$(this).gmap('get', 'markers')));** returns Array[0]