gpt4 book ai didi

Javascript - 函数在 jQuery(document).ready(谷歌地图地理编码)中不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:35:39 26 4
gpt4 key购买 nike

我有一个小的谷歌地图脚本来获取位置,无论是从 Lat Lon 对,还是地址,以及更新那些 lat,lon 和地址输入字段..

参见 jsfiddle这里

单击“绘制”按钮时 - 应该调用名为 codeAddress() 的函数。但是在 Firebug 控制台上我得到:

Error: ReferenceError: codeAddress is not defined

我不明白为什么没有定义 codeAddress() ...

奇怪的是,如果我将函数移到

的外部

jQuery(document).ready(function(){} 它确实有效(参见 jsFIDDLE)

(我还需要移动 var marker - 否则它只会使 map 居中,并给出 marker is undefined 错误;

所以我的问题很简单,我做错了什么?为什么相同的函数在 jQuery(document).ready(function(){} 之外有效,但在内部无效?

还有一个小问题:拖动标记时如何更新地址输入字段(就像 lon lat 输入..)???

更新 - 感谢所有人 - 学到了另一件重要的事情。不幸的是 - 所有都是有效的答案和解决方案 - 但我只能接受一个,对我来说,最容易理解的解决方案(对 JS 如此不熟悉 - 尽管它可能不是一个完美的实践)是 @cowls 再次感谢大家。 .

最佳答案

简单的解决办法就是替换

function codeAddress() { ... }

codeAddress = function() { ... }

您的问题是您将 codeAddress 声明为变量,其作用域是您绑定(bind)到文档就绪处理程序的函数的本地变量。因此,一旦该函数退出,codeAddress 就不再存在。第二个声明(注意缺少的“var”)将 codeAddress 声明为全局变量,因此在 ready 函数退出后仍可访问。

关于Javascript - 函数在 jQuery(document).ready(谷歌地图地理编码)中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13740711/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com