调用google.map.GeoCoder时出现异常

时间:2014-01-18 23:59:06

标签: javascript google-maps google-geocoder

我最近在某个页面上调用地理编码器时开始看到异常。我很确定库中存在一些冲突,但我不太确定它是什么。这个调用非常简单,所以其他任何事情都会干扰逻辑,这是非常令人惊讶的。

new google.maps.Geocoder().geocode(
    {address:'San Francisco, CA'}, 
    function(results, status){
        alert(status);
    }
)

这是堆栈跟踪:

Uncaught TypeError: Cannot read property 'value' of undefined              VM41132:11
    GZ                                                                     VM41132:11
    H.Rm                                                                   VM41132:18
    (anonymous function)                                                    VM40916:1
    (anonymous function)                                     %7Bmain,places%7D.js:258
    (anonymous function)                                     %7Bmain,places%7D.js:887
    M                                                        %7Bmain,places%7D.js:244
    Xf                                                       %7Bmain,places%7D.js:886
    ag                                                       %7Bmain,places%7D.js:925
    (anonymous function)                                                   VM41132:19
    (anonymous function)                                                  VM41131:112
    (anonymous function)                                     %7Bmain,places%7D.js:896
    (anonymous function)                                     %7Bmain,places%7D.js:279
    (anonymous function)                                     %7Bmain,places%7D.js:902
    M                                                        %7Bmain,places%7D.js:244
    (anonymous function)                                     %7Bmain,places%7D.js:901
    Uf.(anonymous function).cf                               %7Bmain,places%7D.js:864
    Vf.(anonymous function).Yc                               %7Bmain,places%7D.js:893
    Zf                                                       %7Bmain,places%7D.js:907
    (anonymous function)                     %7Bcontrols,places_impl,geocoder%7D.js:2

有没有人遇到过类似的问题?


EDITED

我想因为没有其他人遇到过这个问题,所以当我弄明白时,我将使用这个线程来共享解决方案。我将不得不逐块删除代码,直到我可以缩小原因,然后弄清楚如何处理它。它必须是非常简单的东西,但我知道从哪里开始。我最初的猜测如下:

  • 在库准备就绪之前正在初始化库,导致库无法正常工作(与常规Google Maps API及其后备模式相同的问题)
  • 如果全局变量依赖于一个
  • ,则会更改

1 个答案:

答案 0 :(得分:0)

您必须将代码拆分为:

var geocoder = new google.maps.Geocoder();
geocoder.geocode(
    {address:'San Francisco, CA'}, 
    function(results, status){
        alert(status);
    }
);

google.maps.Geocode()是构造函数,geocode()是一种方法。请参阅google文档Geocoding