1
google.maps.event.addListener(google_map, 'zoom_changed', function() {
var z = google_map.getZoom();

_.each(map_shapes, function(s) {

    if (! $.isFunction(s.shape.getPosition)) return;

    var w = s.shape.getIcon().size.width;
    var h = s.shape.getIcon().size.height;

    s.shape.setIcon(new google.maps.MarkerImage(
        s.shape.getIcon().url, null, null, null, new google.maps.Size(
            w - Math.round(w / 3 * (last_zoom - z)),
            h - Math.round(h / 3 * (last_zoom - z)))
        )
    );

});

last_zoom = z;
});

このコードを使用して、誰かがズームインおよびズームアウトしたときにマーカーのサイズを変更していますが、ズームアウトするとアイコンが大きくなり、ズームインするとアイコンが小さくなります。その逆が必要です。

私はgooglesMapsAPI3を使用しています。

いくつかの異なる組み合わせを試しましたが、うまく機能しないようです。

4

0 に答える 0