这可能是非常基本的,但我缺少解释。如果我警告了getBounds()方法返回的LatLngBounds,我会看到两个经纬度值,如预期的那样:((num1,num2),(num3,num4))。显然,getBounds()方法返回一个对象。如果我对返回的相同对象执行console.log,则会显示具有以下属性的对象:
ga: Dg
b: -87.73588298847653
d: -87.56422161152341
...
ta: Ig
b: 41.8883823394486
d: 41.811660656497494
...
问题:alert()是否将对象转换为字符串?我以为不是。b。这些ga,ta是什么?我本来希望看到诸如sw,ne(西南和东北)之类的名称,然后是lat和long。这些ga,ta,b,d名称有什么含义?
更新:我更新了标题,以删除对Google Maps API的引用,因为问题和答案对任何Javascript对象都是通用的。碰巧我在执行Map API编码时遇到了它。如果您想知道为什么警报输出与某些对象的console.log输出不同,那么值得尝试一下。也看了
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/toString
alert()
需要一个字符串。如果在console.log(expand__proto__
属性)中检查bounds对象,您将看到还有一个toString()
在on上调用的函数alert(bounds)
。
属性ga
和ta
是边界数据的内部表示形式,边界数据已转换为sw和ne值。直接使用/操作它们是不明智的,因为当更改此内部结构时,您的代码可能会崩溃。
此外,如果您致电
console.log('bounds: ' + bounds);
结果将是,例如
bounds: ((-34.028249, 151.157507), (-33.80010128657071, 151.28747820854187))
因为bounds.toString()
方法是由于字符串连接而被调用的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句