2016-01-20 75 views
1
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此JavaScript行(Google Maps API)在做什么?

我发现这个离谷歌地图API的JavaScript,我想弄清楚它究竟是如何工作的有关地图和覆盖本身。对我来说,这看起来像是一个对象,它将17,18,19和20声明为由两个子数组组成的数组。

编辑:我真正想知道的是如何界限与我链接的其余代码交互。这些坐标是在何处放置覆盖图?

+1

'这是错的' - 你的意思是你的解释,还是它的有效性? ...边界将是一个对象,其键17,18,19,20,每个都有2个数组的数组。 –

+0

我的意思是我的解释。我应该指定。谢谢! –

+1

我认为你的解释是足够准确的(我的不是更好:p) –

回答

0
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(最小值和最大值)。

如果超出坐标(当您在地图上滚动时)或者如果缩放级别过大,则不会显示图片。

+0

我该如何去寻找特定地图上的(x,y)坐标? –

+0

我不知道,但你可以用'console.log(coord.x +''+ coord.y)'来测试这个值,并使用所需的值。 – R3tep