javascript - 为什么这段代码在 jsbin 中有效,但在 jsfiddle 中无效?

标签 javascript html google-maps jsfiddle jsbin

我按照此处另一位用户的建议重新发布/重新表述此内容。下面的代码适用于 jsbin 但不在 jsfiddle。有谁知道为什么吗?

问题源于我尝试将此代码包含在博文中 ( http://tetsingmaps.blogspot.ca/ )

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false">
</script>
<script type="text/javascript">
  var overlay;

  TQOverlay.prototype = new google.maps.OverlayView();

  function initialize() {
    var latlng = new google.maps.LatLng(42.345393812066433, -71.079311590576168);
    var myOptions = {
      zoom: 13,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

    var swBound = new google.maps.LatLng(42.255594, -71.18282318115234);
    var neBound = new google.maps.LatLng(42.43519362413287, -70.9758);
    var bounds = new google.maps.LatLngBounds(swBound, neBound);

    var srcImage = "http://www.jefftk.com/apartment_prices/apts-2011-06.png";
    overlay = new TQOverlay(bounds, srcImage, map);
  }


  function TQOverlay(bounds, image, map) {
    this.bounds_ = bounds;
    this.image_ = image;
    this.map_ = map;
    this.div_ = null;
    this.setMap(map);
  }

  TQOverlay.prototype.onAdd = function() {

    var div = document.createElement('DIV');
    div.style.border = "none";
    div.style.borderWidth = "0px";
    div.style.position = "absolute";

    var img = document.createElement("img");
    img.src = this.image_;
    img.style.width = "100%";
    img.style.height = "100%";

    img.style.opacity = .5;
    img.style.filter = 'alpha(opacity=50)';

    div.appendChild(img);
    this.div_ = div;
    var panes = this.getPanes();
    panes.overlayLayer.appendChild(div);
  }

  TQOverlay.prototype.draw = function() {
    var overlayProjection = this.getProjection();

    var sw = overlayProjection.fromLatLngToDivPixel(this.bounds_.getSouthWest());
    var ne = overlayProjection.fromLatLngToDivPixel(this.bounds_.getNorthEast());

    var div = this.div_;
    div.style.left = sw.x + 'px';
    div.style.top = ne.y + 'px';
    div.style.width = (ne.x - sw.x) + 'px';
    div.style.height = (sw.y - ne.y) + 'px';
  }

  TQOverlay.prototype.onRemove = function() {
    this.div_.parentNode.removeChild(this.div_);
    this.div_ = null;
  }


</script>
</head>
<body onload="initialize()">
  <div id="map_canvas" style="width:100%; height:100%"></div>
  <div id="legend">
  <b>$/bedroom</b>
  <br><br>  
  <font color="#FF0000">&#9608;</font> $1800+<br>
  <font color="#FF2B00">&#9608;</font> $1700+<br>
  <font color="#FF5600">&#9608;</font> $1600+<br>
  <font color="#FF7F00">&#9608;</font> $1500+<br>
  <font color="#FFAB00">&#9608;</font> $1400+<br>
  <font color="#FFD500">&#9608;</font> $1300+<br>
  <font color="#FFFF00">&#9608;</font> $1200+<br>
  <font color="#7FFF00">&#9608;</font> $1100+<br>
  <font color="#00FF00">&#9608;</font> $1000+<br>
  <font color="#00FF7F">&#9608;</font> $900+<br>
  <font color="#00FFFF">&#9608;</font> $800+<br>
  <font color="#00D5FF">&#9608;</font> $700+<br>
  <font color="#00ABFF">&#9608;</font> $600+<br>
  <font color="#007FFF">&#9608;</font> $500+<br>
  <font color="#0056FF">&#9608;</font> $400+<br>
  <font color="#002BFF">&#9608;</font> $300+<br>
  <font color="#0000FF">&#9608;</font> $300-<br>
  <br>
  as of 6/2011<br>
  <a href="index.html">current</a><br>
  <a href="rooms-2011-06.html">$/room</a><br>
  (<a href="/news/2011-06-18.html">details</a>)
  </div>

最佳答案

您的<head><body>标签未正确关闭。只需查看输出页面( http://fiddle.jshell.net/wNaEX/show/http://jsbin.com/osebov/1 )的源代码即可了解两者为何无效。虽然 JsBin 需要整个 HTML 页面(从 doctype 到 </html> ),但 jsfiddle 只会在其输出模板的正文标记中插入“HTML”。有时浏览器可能会按预期解释这一点,有时则不然。

关于javascript - 为什么这段代码在 jsbin 中有效,但在 jsfiddle 中无效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15319172/

相关文章:

android - 新的 gms.maps.MapView 在 ListView 中呈现有点滞后?

android - 上传谷歌室内地图? & 如何查看?

javascript - ReferenceError :room is not defined, RTCpeerconnection 不工作。客户端无法连接

html - css 级联如何在这里工作?

html - 使 <img> 与 div block 内的 div 元素内联

html - Bootstrap 列未在同一行中对齐

javascript - 防止 Phonegap notification.navigator 弹出窗口因对话框外的触摸而关闭

javascript - HTML Slider 中的第一张幻灯片在初始页面加载时不显示

javascript - 正则表达式:类似 Slack 的 'markdown',用于精确匹配一个格式化字符

javascript - 在谷歌地图中显示零售商