Javascript 如何单击Amcharts中的映射气泡并调用服务器请求
我想点击Am图表中的气泡,通过ajax调用调用服务器,并在视图中操作一些数据,这可能吗? 我正在通过ajax调用加载地图。下面是代码。我使用eventlistener clickable对象进行了尝试,但没有成功Javascript 如何单击Amcharts中的映射气泡并调用服务器请求,javascript,jquery,charts,amcharts,amcharts4,Javascript,Jquery,Charts,Amcharts,Amcharts4,我想点击Am图表中的气泡,通过ajax调用调用服务器,并在视图中操作一些数据,这可能吗? 我正在通过ajax调用加载地图。下面是代码。我使用eventlistener clickable对象进行了尝试,但没有成功 function StatisticsMap(item, categoryID, statusID) { languageShortName = $("#languageShortName").val(); $("[relf-map-tab]").removeClas
function StatisticsMap(item, categoryID, statusID) {
languageShortName = $("#languageShortName").val();
$("[relf-map-tab]").removeClass("active");
var url = "/" + languageShortName + "/saudiprojects/statistics/map-data?categoryID=" + categoryID + "&statusID=" + statusID;
dataPoints = [];
$.ajax({ type: "GET", url: url }).done(function (data) {
$(data).each(function (index, value) {
dataPoints.push({
longitude: value.Longitude,
latitude: value.Latitude,
type: 'circle',
color: '#E98C3E',
label: value.CountNo,
labelPosition: "middle",
labelColor: "#ffffff",
labelFontSize: 20,
fixedSize: false,
labelBackgroundAlpha: 1,
labelBackgroundColor: "#E98C3E",
height: 50 + (value.CountNo * 10),
width: 50 + (value.CountNo * 10),
centered: true,
title: value.Status
});
});
var map = AmCharts.makeChart("mapdiv", {
"type": "map",
"theme": "light",
"dataProvider": {
"map": "saudiArabiaHigh",
"images": dataPoints
}
});
$(item).addClass("active");
});
}
这是我的HTML
您可以使用地图上的侦听器捕获单击的气泡。图像本身存储在事件的mapObject属性中:
"listeners": [{
"event": "clickMapObject",
"method": function(ev) {
alert('clicked on ' + ev.mapObject.title)
}
}]
请注意,为了使图像可点击,您必须在imagesSettings
中设置为true
:
"imagesSettings": {
"selectable": true
}
演示如下:
var数据点=[{
经度:45度,
纬度:25,
键入:“圆”,
颜色:“#E98C3E”,
标签:“1”,
标签位置:“中间”,
labelColor:#ffffff“,
labelFontSize:20,
fixedSize:false,
labelBackgroundAlpha:1,
labelBackgroundColor:#E98C3E“,
身高:60,
宽度:60,
对,,
标题:“示例”
}];
var map=AmCharts.makeChart(“mapdiv”{
“类型”:“地图”,
“主题”:“光”,
“数据提供者”:{
“地图”:“Saudiarabiahai”,
“图像”:数据点
},
“图像设置”:{
“可选”:真
},
“听众”:[{
“事件”:“clickMapObject”,
“方法”:功能(ev){
警报('单击'+ev.mapObject.title)
}
}]
});代码>
#mapdiv{
宽度:100%;
高度:500px;
}
谢谢。。它正在工作。事实上,我没有把它设置为真。
"imagesSettings": {
"selectable": true
}