必要なときだけGoogleマップをロードします。コードをリファクタリングする前は、次のように機能していました。
function initialize_map_brand() {
(...)
}
jQuery(document).ready(function ($) {
load_google_map('initialize_map_brand');
});
リファクタリング後、私のコードは次のようになります。
lib = {
loadGoogleMapScript: function(_callback) {
(...)
script.src = 'http://maps.google.com/maps/api/js?sensor=false&callback=' +_callback;
}
}
Page = {
viewPage: {
init: function() {
lib.loadGoogleMapScript(self.initialize_map);
},
initialize_map: function() {
var locations = [ (...)
}
}
}
jQuery(document).ready(function ($) {
Page.viewBPage.init();
});
そして今、私はこのエラーを受け取っています:
"NetworkError:400 Bad Request- http://maps.google.com/maps/api/js ? sensor = false&callback = function%20()%20 {var%20locations%20 =%20 [[%...。
関数コード全体を取得してURLに渡すようです。では、どうすれば新しいコードでGoogleマップスクリプトを正しくロードできますか?
ドキュメントによると、callback
グローバルスコープ内の関数の名前を使用してurlパラメーターの文字列を指定する必要があります。
代わりに、関数をパラメーターとして渡したため、関数本体がURLに追加されます。
var Page = {
viewPage: {
init: function() {
lib.loadGoogleMapScript('Page.viewPage.initialize_map');
},
initialize_map: function() {
}
}
};
window.Page = Page;
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加