Google Maps API v3 を動作させようとしていますが、うまくいきます! ただし、マップを表示する div を「map_canvas」の ID を持つように設定した場合のみです。そのIDは必要ですか?複数のマップを 1 ページに表示したい場合はどうすればよいでしょうか。
js と html マークアップの両方で ID を設定しています
次のように問題なく動作します。
JS
<script type="text/javascript" >
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(-34.397, 150.644),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
}
</script>
HTML
<div style="width:300px; height:300px;">
<div style="width:100% height:100%" id="map_canvas"></div>
</div>
firebug に従ってマップをロードしますが、これを行うと何も表示されません。
JS
<script type="text/javascript" >
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(-34.397, 150.644),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("anyotherid"), mapOptions);
}
</script>
HTML
<div style="width:300px; height:300px;">
<div style="width:100% height:100%" id="anyotherid"></div>
</div>
アップデート
問題を再現するサンプル ページを次の場所にアップロードしました 。
私が気付いた特異な点の 1 つは、マップを表示する div の map_test から map_canvas に firebug で id 属性を編集すると、id がヘッドの JS で map_test として定義されているにもかかわらず、突然表示されることです。