Google Maps API因加载产生错误而停滞不前

时间:2016-12-20 14:01:18

标签: javascript jquery google-maps ssl

我的网站上有很多地图,而且最近才在我的网站上添加了SSL证书,网站已经开始产生错误,地图已停止加载完全停止。

网站上的其中一张地图效果很好,这让我相信这与API无关,事实上它与代码有关。

function gd_initialize_ac() {
      // Create the autocomplete object, restricting the search
      // to geographical location types.
                        autocomplete = new google.maps.places.Autocomplete(
                            /** @type {HTMLInputElement} */(document.getElementById('detail_page_map_canvas_fromAddress')),
                            {types: ['geocode']});
                        // When the user selects an address from the dropdown,
                        // populate the address fields in the form.
                        google.maps.event.addListener(autocomplete, 'place_changed', function () {
                            gd_fillInAddress_ac();
                        });
                    }

                    function gd_fillInAddress_ac() {
                        //submit the form
                        jQuery('#directions').trigger('click');
                    }

这是Google Chrome上的检查中产生的错误。

This is the error that is being produced in the inspect on Google Chrome.

然后这是与正在生成的错误相关联的代码。请记住,现在这个网站上有一个https,我不知道这是否有相关性,但是......

到目前为止我的尝试:

  • 将所有http://重命名为https://(无希望)
  • 在javascript API中的api末尾添加& libaries。 (我在另一个答案中看到了这一点)

以下是从中获取Google Maps API密钥的位置。

function rgmk_find_add_key( $url, $original_url, $_context ) {
$key = get_option( 'rgmk_google_map_api_key' );

// If no key added no point in checking
if ( ! $key ) {
    return $url;
}

if ( strstr( $url, "maps.google.com/maps/api/js" ) !== false || strstr( $url, "maps.googleapis.com/maps/api/js" ) !== false ) {// it's a Google maps url

    if ( strstr( $url, "key=" ) === false ) {// it needs a key
        $url = add_query_arg( 'key',$key,$url);
        $url = str_replace( "&", "&", $url ); // or $url = $original_url
    }

}

return $url;  }

1 个答案:

答案 0 :(得分:0)

原来这与jQuery过时有关。

如果有其他人有此问题,请尝试更新jQuery,它应该可以正常工作!