Cam*_*mel 8 javascript jquery google-maps google-maps-api-3
如何根据Google地图缩放级别更改图标的高度和宽度?
我正在使用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;
});
Run Code Online (Sandbox Code Playgroud)
您应该能够根据文档为缩放更改添加侦听器.它没有通过任何东西,但你可以通过api获得该属性.
google.maps.event.addListener(map, 'zoom_changed', function() {
zoomLevel = map.getZoom();
//this is where you will do your icon height and width change.
});
Run Code Online (Sandbox Code Playgroud)