如何在Google地图标注框中显示星标?

时间:2010-12-30 11:09:13

标签: javascript google-maps

预期:在Google地图标注框中查看1-5颗星 实际:页面闪烁,并在页面顶部仅显示一长串星标。

我怀疑我不应该使用document.write?

<html>
    <head>

    <script type="text/javascript">

    //some Google Maps API code

         function showstar(x)
       {
        var i = 0;
        while (i < x)
        {
         document.write("<img src=\"img/star.gif\" width=\"15\" height=\"15\" />");
         i++;
        }
       }

       var html = "Review stars: " showstar(star)

       GEvent.addListener(marker, 'click', function() {
          marker.openInfoWindowHtml(html);
          });
          return marker;
        }

      </script>
    </head>

      <body onload="load()" onunload="GUnload()">
        <div id="map" style="width: 700px; height: 500px"></div>
      </body>

    </html>

1 个答案:

答案 0 :(得分:1)

正确,在页面加载完成之前执行时,你不应该像这样使用document.write - document.write Replaces All Body Content

而不是document.write,返回函数末尾的HTML字符串:

function showstar(x) {
    var i = 0, starsHTML = "";
    while (i < x) {
        starsHTML += "<img src=\"img/star.gif\" width=\"15\" height=\"15\" />";
        i++;
    }
    return starsHTML;
}

PS我假设star已定义并在使用之前在某处分配了一个值,您在此处的代码中未提供该值。