在 AmMap 中,出现“homeButtonClicked”事件,当您单击主页按钮时会触发该事件。
我想手动触发该事件。有什么办法吗?
自上次回答以来,代码似乎已更改。对我来说,这是有效的。
map.clickMapObject(map.dataProvider)
要完全缩小地图,请使用zoomToSelectedObject()
ant pass inmap.dataProvider
作为参数。
IE:
map.zoomToSelectedObject(map.dataProvider);
工作演示:
var map = AmCharts.makeChart( "chartdiv", {
"type": "map",
"dataProvider": {
"map": "worldLow",
"getAreasFromMap": true
},
"areasSettings": {
"autoZoom": true
}
} );
function zoomOut() {
map.zoomToSelectedObject(map.dataProvider);
}
#chartdiv {
width: 100%;
height: 250px;
}
<script src="http://www.amcharts.com/lib/3/ammap.js"></script>
<script src="http://www.amcharts.com/lib/3/maps/js/worldLow.js"></script>
<input type="button" value="Zoom Out" onclick="zoomOut();" />
<div id="chartdiv"></div>
要在地图或任何 amCharts 对象上触发事件,您可以使用fire()
方法。IE:
map.fire("homeButtonClicked", {
type: "homeButtonClicked",
chart: map
});
这是一个工作示例:
var map = AmCharts.makeChart( "chartdiv", {
"type": "map",
"dataProvider": {
"map": "worldLow",
"getAreasFromMap": true
},
"areasSettings": {
"autoZoom": true
}
} );
map.addListener("homeButtonClicked", function(event) {
alert('homeButtonClicked');
});
function testEvent() {
map.fire("homeButtonClicked", {
type: "homeButtonClicked",
chart: map
});
}
#chartdiv {
width: 100%;
height: 280px;
}
<script src="http://www.amcharts.com/lib/3/ammap.js"></script>
<script src="http://www.amcharts.com/lib/3/maps/js/worldLow.js"></script>
<input type="button" value="trigger event" onclick="testEvent();" />
<div id="chartdiv"></div>
(对于martynasma)触发事件方法(testEvent)仍然有错误。正确的是:
map.fire({
type: "homeButtonClicked",
chart: map
});