Javascript Ammaps图例仅显示在“调整窗口大小”上

Javascript Ammaps图例仅显示在“调整窗口大小”上,javascript,amcharts,Javascript,Amcharts,我正在使用AMMAP创建地图并尝试创建图例。我遇到了一个奇怪的问题,图例在初始加载时不显示,但仅在窗口调整时显示。无论窗口大小如何,在任何调整大小时,图例都将可见(非常奇怪,对吗?) 代码: 您正在使用makeChart函数。这个函数是一个助手,它允许您在一次调用中创建一个图表/地图,使用JSON配置它,在作为第一个参数传递的容器div中显示它,并返回以前创建的实例 您正在将图例添加到实例中,但当您点击添加图例的代码时,makeCharthelper已经呈现了图例。因此,在将图例添加到已渲染的图

我正在使用AMMAP创建地图并尝试创建图例。我遇到了一个奇怪的问题,图例在初始加载时不显示,但仅在窗口调整时显示。无论窗口大小如何,在任何调整大小时,图例都将可见(非常奇怪,对吗?)

代码:


您正在使用
makeChart
函数。这个函数是一个助手,它允许您在一次调用中创建一个图表/地图,使用JSON配置它,在作为第一个参数传递的容器div中显示它,并返回以前创建的实例

您正在将图例添加到实例中,但当您点击添加图例的代码时,
makeChart
helper已经呈现了图例。因此,在将图例添加到已渲染的图表中时,只有在重新渲染时(调整窗口大小时)图例才可见

如中所述,
AmMap
类无法显式实例化,因此必须使用
makeChart
方法,但您也可以在JSON配置中配置图例,而不是稍后再进行配置

/**
 * Legend
 */
"legend": {
  "width": 400,
  "backgroundAlpha": 1,
  "backgroundColor": "#fff",
  "borderColor": "#000",
  "borderAlpha": 1,
  "bottom": 15,
  "right": 15,
  "horizontalGap": 10,
  "data": [{
    "title": "first",
    "color": "#CC0000",
    "markerType": "circle"
  }, {
    "title": "second",
    "color": "#00CC00",
    "markerType": "circle"
  }, {
    "title": "third",
    "color": "#ffff00",
    "markerType": "circle"
  }]
},
我根据您的问题提出了一个建议,包括一个用JSON配置的图例。图例与地图同时显示,无需调整大小或进行任何显示

/**
 * Legend
 */
"legend": {
  "width": 400,
  "backgroundAlpha": 1,
  "backgroundColor": "#fff",
  "borderColor": "#000",
  "borderAlpha": 1,
  "bottom": 15,
  "right": 15,
  "horizontalGap": 10,
  "data": [{
    "title": "first",
    "color": "#CC0000",
    "markerType": "circle"
  }, {
    "title": "second",
    "color": "#00CC00",
    "markerType": "circle"
  }, {
    "title": "third",
    "color": "#ffff00",
    "markerType": "circle"
  }]
},