在AmMap中," homeButtonClicked"当您点击主页按钮时触发了该事件。
我想手动触发该事件。 有没有办法这样做?
答案 0 :(得分:1)
要完全缩小地图,请使用map.dataProvider
中的zoomToSelectedObject()
蚂蚁传递作为参数。
即:
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()
方法。即:
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>
答案 1 :(得分:0)
(对于martynasma)你仍然在触发事件方法(testEvent)上有错误。正确的是:
map.fire({
type: "homeButtonClicked",
chart: map
});
答案 2 :(得分:0)
自上次回答以来,代码似乎已发生变化。对我来说,这是有效的。
map.clickMapObject(map.dataProvider)