0

AJAX 呼び出しを介して Google Maps API を非同期に読み込んでいますが、画面にエラーは表示されず、Google API コードは正しく出力されており、有効な緯度/経度座標を持っています。以下のコードを使用しています。何が起こっているかについて何かアイデアを提案しますか?

<script type="text/javascript">
function initialize() {
    var mapOptions = {
        center: new google.maps.LatLng({lat}, {lng}),
        zoom: 16,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
}           
function loadScript()
{
    var script = document.createElement("script");
    script.type = "text/javascript";
    script.src = "http://maps.googleapis.com/maps/api/js?key={api_key}&sensor=false&callback=initialize";
    document.body.appendChild(script);
}
window.onload = loadScript;
</script>
<div id="map-canvas" class="map-canvas"></div>
4

3 に答える 3

1

マップを非同期にロードするためのGoogle APIドキュメントで、コードをそのままページに使用して解決しましたがhttps://developers.google.com/maps/documentation/javascript/tutorial#asynch、問題は私が使用していたものでした:

window.onload = loadScript;

私が使用していたはずのとき:

window.onload = loadScript();
于 2013-11-10T01:55:33.013 に答える
0

API キーを提供する必要があります。

function loadScript()
{
    var script = document.createElement("script");
    script.type = "text/javascript";
    script.src = "http://maps.googleapis.com/maps/api/js?key=api_key&sensor=false&callback=initialize";
    script.src.replace('api_key', "3d73a8acf7ab7f466fb7c9da390df68c"); //  This is not a real api key
    document.body.appendChild(script);
}
于 2013-11-10T01:48:05.867 に答える