私は地元の消防士の家のために小さな JavaScript アプリケーションをプログラムしています。アプリケーションは、パワーポイントなどに少し似ていますが、html です。このアプリケーションでは、消防士の家から火災までの道を示すルートを含む Google マップ マップを表示します。http サーバーからデータを要求するために jquery を使用します。
私の問題は、Google マップ API のコードを挿入したことです。ブラウザには、Google ロゴなどを含むマップ オブジェクトが表示されます。しかし、地図はなく、灰色の背景しかありません。マウスを使用すると、マップでズームイン/ズームアウト、スクロールなどを行うことができるようです (対話すると、firebug で Google API へのデータ転送が行われます) が、マップはありませんでした。
パーソナル マップ API キーが挿入されています。これを削除すると、プラグインにエラーが表示されます。だから私はそれが問題になることはないと思います。
jquery と maps API に問題はありますか? この問題を抱えている人はいますか?
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="./css/standard.css">
<script src="./js/libs/jquery-1.9.0/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript"
src="http://maps.googleapis.com/maps/api/js?key=api_key&sensor=false">
</script>
<script type="text/javascript">
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(50.98188, 6.78655),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"),mapOptions);
window.console.log("Position center: "+map.getCenter()+"\nZoom: "+map.getZoom());
map.setZoom(12);
map.setCenter(new google.maps.LatLng(0, 0));
window.console.log("Position center: "+map.getCenter()+"\nZoom: "+map.getZoom());
}
</script>
</head>
<body>
<div id="site_content">
<div id="head_left" class="background_box">
</div>
<div id="head_center" class="background_box">
<div class="heading"></div>
</div>
<div id="head_right" class="background_box">
<h1 class="date_data"></h1>
<h1 class="time_data"></h1>
</div>
<div class="spacing_data"></div>
<div id="data_box" class="background_box">
<div id="map_canvas" style="width: 100%;height: 100%"></div>
</div>
<div class="spacing_data"></div>
<div id="footer_left" class="background_box">
</div>
<div id="footer_center" class="background_box">
<div class="footer"></div>
</div>
<div id="footer_right" class="background_box">
</div>
</div>
<script>
jQuery.getScript("./js/initialisation.js",function(){initialisation();});
initialize();
</script>
</body>
これはすべて実行時にサーバーからjquery経由でロードされ、domに挿入されるため、コンテンツはありません。