OnMarkerClick和JVectorMap

时间:2012-10-30 20:50:06

标签: jquery jvectormap

我正在尝试使用JVectorMap创建一个地图,该地图会在用户点击给定标记后将信息输入#output div(例如,如果用户点击标记为Alaska的标记,则有关Alaska的信息会弹出#output div)。在这里的其他地方,我已经看到了这个代码示例,它输出了标签的名称......

onMarkerLabelShow: function(event, label, code) {
    $("#output").html("Some information about "+ label.html());
}

我正在尝试在这里使用开关......

onMarkerLabelShow: function(event, label, code) {
    switch (label) {
        case Alaska:
        $("#output").html($("#alaska-facts");
        [break;]

        case North Carolina:
        $("#output").html($("#nc-facts");
        [break;]

        default:
        $("#output").html("Please select a job site");
        [break;]
    }
}

当我运行此代码时,地图不会显示,而我可能完全在错误的轨道上。有什么帮助吗?

1 个答案:

答案 0 :(得分:2)

有几个问题:

  • label是一个对象,与匹配字符串值的简单case语句不匹配。您可能希望对label.text()
  • 进行评估
  • case中的值应引用字符串(即"North Carolina",而不是North Carolina
  • break;不应该包含在[]中(您不希望数组break,您想要突破switch)。
  • 您错过了使用jQuery ID选择器设置)的行的结束.html()

更正示例:

onRegionLabelShow: function(event, label, code) {
   switch (label.text()) {
      case "Alaska":
         $("#output").html($("#alaska-facts"));
         break;

      case "North Carolina":
         $("#output").html($("#nc-facts"));
         break;

      default:
         $("#output").html("Please select a job site");
         break;
   }
}