HTML ページの開始を高速化するために、Google マップを非同期で読み込もうとしています。
リンクに記載されているように、次のコードを使用しました: https://developers.google.com/maps/documentation/javascript/tutorial#asynch。セクション: API の非同期ロード。
function initialize() {
var myOptions = {
zoom: 8,
center: new google.maps.LatLng(-34.397, 150.644),
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
function loadScript() {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "http://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&sensor=TRUE_OR_FALSE&callback=initialize";
document.body.appendChild(script);
}
window.onload = loadScript;
問題:
loadScript()
関数の呼び出し後にネットワークが切断されたとき。現在、ネットワーク接続が終了していることを確認し、適切なエラー処理を行う方法は見つかりません。ネットワークが利用可能な場合でも、コールバック関数 '
initialize()
' が呼び出されることはありません。モバイル デバイスでの Google マップの読み込みは、3G ネットワークでも非常に遅くなります。
loadScript()
上記のどちらの場合でも、が呼び出された直後に読み込みアイコンを開始します。initialize()
コールバックされないため、読み込みアイコンで無限にブロックされます。
ネットワークの切断とコールバック関数が呼び出されない問題を処理するためのポインタをいくつか提供してください。