javascript - 根据缩放级别更改图标

标签 javascript jquery google-maps google-maps-api-3

如何根据 Google map 缩放级别更改图标的高度和宽度?

我使用的是 Google Maps api v3。

最佳答案

这是我最终使用的代码:

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;
});

关于javascript - 根据缩放级别更改图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7047284/

相关文章:

jquery - 如何使用 Bootstrap 框架创建确认删除对话框?

javascript - 在javascript中,如何检测浏览器在加载文件时何时出现打开/保存/取消提示?

javascript - Webpack dev img 文件夹始终指向 ./dist

javascript - 通过 JS 使用 php 检测用户是否已注销(没有 session ),如果是,则停止执行 JS 函数的其余部分

javascript - 使用 jquery 根据背景颜色对表格行进行排序

javascript - Google Maps API v3 - 标记全部共享相同的信息窗口

javascript - Rails - 如何将从外部 API 检索到的前端 javascript 数据发送到 Controller

reactjs - react native MapViewDirections : force entire route to remain in view?

Javascript - 在变量声明中使用花括号将多个变量分配给对象属性

javascript - 变灰并使用 jquery 使文本框只读