diff --git a/lib/world-map.js b/lib/world-map.js
index df9a8181..1a9e977b 100644
--- a/lib/world-map.js
+++ b/lib/world-map.js
@@ -68,6 +68,7 @@
* @param {Function} params.onMarkerOut (Event e, String code)
Will be called on marker mouse out event.
* @param {Function} params.onMarkerClick (Event e, String code)
Will be called on marker click event.
* @param {Function} params.onMarkerSelected (Event e, String code, Boolean isSelected, Array selectedMarkers)
Will be called when marker is (de)selected. isSelected
parameter of the callback indicates whether marker is selected or not. selectedMarkers
contains codes of all currently selected markers.
+ * @param {Function} params.onZoom (Event e, Number scale)
Triggered the map is zoomed.
*/
jvm.WorldMap = function(params) {
var map = this,
@@ -442,7 +443,8 @@ jvm.WorldMap.prototype = {
},
setScale: function(scale, anchorX, anchorY, isCentered) {
- var zoomStep;
+ var zoomStep,
+ viewportChangeEvent = jvm.$.Event('zoom.jvectormap');
if (scale > this.params.zoomMax * this.baseScale) {
scale = this.params.zoomMax * this.baseScale;
@@ -463,6 +465,9 @@ jvm.WorldMap.prototype = {
this.scale = scale;
this.applyTransform();
+
+ console.log(this.baseScale);
+ this.container.trigger(viewportChangeEvent, [scale/this.baseScale]);
},
/**
@@ -862,4 +867,5 @@ jvm.WorldMap.apiEvents = {
onMarkerOut: 'markerOut',
onMarkerClick: 'markerClick',
onMarkerSelected: 'markerSelected',
+ onZoom: 'zoom'
};
\ No newline at end of file
diff --git a/tests/markers.html b/tests/markers.html
index 848e7208..d414a311 100644
--- a/tests/markers.html
+++ b/tests/markers.html
@@ -134,6 +134,9 @@
JSON.stringify(selectedRegions)
);
}
+ },
+ onZoom: function(e, scale){
+ console.log('viewportChange', scale);
}
});