看看你的代码,处理click
事件为每个标记:
map.setCenter(e.position.k, e.position.D);
在gmaps的setCenter()
方法采用经纬度参数。 k
和D
看起来像这些明智的名字吗? :-)
我怀疑你是在开发代码的时候通过在开发者工具中查找来找到这些属性的,对吗?在那行代码上设置一个断点,当你到达那里时再看一看。
哎呀,没有k
或D
属性有更多。现在它具有A
和F
属性。那么,这不会。
但您是否看到__proto__
产权在下面?展开,你会看到position
对象的可用方法。请注意那里的lat()
和lng()
方法。这使得很多更有意义,所以试戴:
map.setCenter(e.position.lat(), e.position.lng());
这里发生了什么事:e.position
是从谷歌地图API一个LatLng
对象。 API对象具有许多未记录的内部属性,以及记录的属性和方法。 lat()
和lng()
是来自LatLng
对象的documented methods to get the latitude and longitude。您发现的其他属性在API中内部使用,但它们不适用于您自己的代码。谷歌通过一个“缩小器”运行所有的JavaScript API代码,可以任意改变内部名称以缩短代码,但保持记录的公开名称不变。因此,每隔几周当他们更新API时,任何未公开的内部名称都可能会改变。
有控制台错误,说oldUrl没有定义。解决后,它解决了递归? –
没有那个控制台错误之前有 – iDave
但它现在所以你需要解决它:) –