【问题标题】:What is this JavaScript line doing (Google Maps API)?这条 JavaScript 线路在做什么(Google Maps API)?
【发布时间】:2016-01-21 20:34:48
【问题描述】:
var bounds = {
17: [[20969, 20970], [50657, 50658]],
18: [[41939, 41940], [101315, 101317]],
19: [[83878, 83881], [202631, 202634]],
20: [[167757, 167763], [405263, 405269]]
};

(在这里找到:https://developers.google.com/maps/documentation/javascript/examples/maptype-image-overlay

我在 Google Maps Javascript API 中发现了这一点,我正试图弄清楚它与地图和叠加层本身的关系究竟是如何工作的。对我来说,这看起来像 bounds 是一个将 17、18、19 和 20 声明为由两个子数组组成的数组的对象。

编辑:我真正想知道的是 bounds 如何与我链接的其余代码交互。这些坐标是否与放置叠加层的位置有关?

【问题讨论】:

  • is this wrong - 你的意思是你的解释,还是它的有效性? ... bounds 将是一个具有 17、18、19、20 键的对象,每个对象都有一个由 2 个数字组成的 2 个数组
  • 我的意思是我的解释。我应该指定的。谢谢!
  • 我认为你的解释已经足够准确了(我的也好不到哪里去:p)

标签: javascript google-maps google-maps-api-3


【解决方案1】:
if (zoom < 17 || zoom > 20 ||
      bounds[zoom][0][0] > coord.x || coord.x > bounds[zoom][0][1] ||
      bounds[zoom][1][0] > coord.y || coord.y > bounds[zoom][1][1]) {
    return null;
}
return ['http://www.gstatic.com/io2010maps/tiles/5/L2_',
      zoom, '_', coord.x, '_', coord.y, '.png'].join('');

bounds 根据缩放比例(17、18、19、20 是缩放级别)和您在地图上的位置(x 和 y)显示图像。数组包含坐标 x 和 y(最小值和最大值),具体取决于缩放比例。

如果您不在坐标范围内(在地图上滚动时)或缩放级别太大,则不会显示图片。

【讨论】:

  • 如何在特定地图上找到 (x,y) 坐标?
  • 我不知道,但是您可以使用console.log(coord.x + ' ' + coord.y ) 实时测试该值并使用所需的值。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多