使用http://code.google.com/p/jquery-ui-map/

时间:2011-02-24 16:19:29

标签: jquery-ui google-maps jquery-plugins

使用jquery-ui-map

这是我的代码

$(document).ready(function() {$('#map_canvas').gmap({ 'center': new google.maps.LatLng(3.162456,21.09375), 'zoom': 2, 'streetViewControl': false, 'callback': 
    function() {
        $('#map_canvas').gmap('loadHTML', 'microformat', '.importers', function(markerOpts, node, index) {
            var clone = $(node);
            // We have to add a callback in the addmarker method so we can access the marker just added
            var name = $(node).find('.name');   
            var icon = $(node).find('.icon');   
            $('#map_canvas').gmap('addMarker', jQuery.extend({ 'title': name.html(), 'icon':new google.maps.MarkerImage(icon.html())}, markerOpts), function(map, marker) {
                $(name).click( function() {
                $(marker).triggerEvent('click');
                    return false;
                }); 
            }).click(function() {
                $('.reveal').removeClass('reveal');
                $(this).get(0).map.panTo($(this).get(0).position);                 
                $(clone).toggleClass('reveal');
                //need to wait till pan has complete before doing zoom!            

                });
              });
            }
        });
    });

当您点击市场时,它会平移到其位置

我想做的也是zoomin,我尝试过添加

$(this).get(0).map.setZoom(5, true);       

但这意味着平移不起作用它只是直接跳到缩放级别,我如何让它来触发$(this).get(0).map.setZoom(5,true);平移完成后?

提前致谢

1 个答案:

答案 0 :(得分:1)

$('#map_canvas').gmap('addMarker').click(function() {
    $(this).get(0).map.panTo($(this).get(0).position);
    var self = $(this).get(0);
    setTimeout(function() { self.map.setCenter(self.position); self.map.setZoom(15); }, 2000);
});

这是平移后设置缩放的简便方法。