
こんばんは。いつもお世話になっております。
2つのGoogleMapsを「map1.html」と「map2.html」にわけて、1つのhtmlにそれぞれiframeで読み込んでいるのですが、
IE6でのみ上手く動いたり動かなかったりします。
<head>内に以下のコードを記述しています。
━ ソースコード ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
<script src="http://maps.google.com/maps?file=api&v=2&key=Goo …のキー" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
//<![CDATA[
var map;
var markers = new Array(1);
function onLoad() {
map = new GMap(document.getElementById("gmaps"));
map.setCenter(new GLatLng(緯度,経度),16);
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.setMapType(G_NORMAL_MAP);
var marker = null;
var n_markers = 0;
var markeropts = new Object();
marker = new GMarker(new GLatLng(緯度,経度),markeropts);
markers[n_markers] = marker;
n_markers++;
map.addOverlay(marker);
map.setCenter(new GLatLng(緯度,経度),16);
map.openInfoWindowHtml(map.getCenter(),
"<strong>所在地</strong><br />〒000-0000<br />住所<br />電話番号:000-0000-0000");
}
//]]>
</script>
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
上記のコードのうち問題のコードは
「map = new GMap(document.getElementById("gmaps"));」の部分で、
「GMapは宣言されていません」というエラーがIE6で出たり出なかったりします。
エラーが出た場合はマップは表示されません。
2つのファイルで同じソースコードを使用していることがまずいのか、
根本的に書き方がおかしいのか、知識が乏しいためにわからない状況です。
もしご存知の方いらっしゃいましたら、教えていただきたいです。
よろしくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
<捕捉(参考)>
異なる<iframe>にある、mapコンテナーの参照は、
------
map1 = new GMap2(parent.iframe1.document.getElementById("map1"),
{ size: new GSize(640, 480) });
map2 = new GMap2(parent.iframe2.document.getElementById("map1"),
{ size: new GSize(640, 480) });
-----
<iframe src="./frame_map1.htm" name="iframe1" width="640" height="480"></iframe>
<br />
<iframe src="./frame_map2.htm" name="iframe2" width="640" height="480"></iframe>
frame_map1.htm、frame_map2.htmの中身(両方とも)
<html>
<body>
<div id="map1"></div>
</body>
</html>
で、両方のiframe内の地図とも、Firefoxではうまくいくのですが、
IEでは、両方の地図の表示と操作はうまくいきますが、
マーカーの追加等の操作は出来ませんでした。残念!
(以上)
回答ありがとうございます!
そうなのです。アドバイスをいただいていろいろ試してはいますが
どうしてもIE6だと表示されたりされなかったり。
あるマシンはまったくエラーがでなくても、あるマシンはエラーばかりだったりです。
IE6のサポートが不安定とかそういうことなのでしょうか・・・
もう少しの間、模索してみます。
No.1
- 回答日時:
通常mapオブジェクトは一つのコンテナーに対し一つづつ、
個別に作るのが標準のはずです。
2つマップ表示があるなら、
<div id="gmaps1"></div>
<div id="gmaps2"></div>
map1 = new GMap(document.getElementById("gmaps1"));
map2 = new GMap(document.getElementById("gmaps2"));
としてmapクラスをインスタンスし、
map1.setCenter(new GLatLng(緯度,経度),16);
map1.addOverlay(marker);
map2.setCenter(new GLatLng(緯度,経度),16);
map2.addOverlay(marker);
の様に個別に操作するのが基本のはず。
また、マップコンテナーが、子Windowや、子フレームにある時、あるいは
マップコンテナーをスタイルシートで隠したりしていると、親から
Javascriptで操作するとき、ブラウザーによっては、うまく動作しない
機能があるみたい(原因は多種多様)です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
1枚の画像をクリックすると複数...
-
bxsliderで最初に縦に複数表示...
-
入力フォームの値をQRコードで...
-
IE操作アプリでの終了理時のエ...
-
スライドを最後の画像で止めたい
-
エクセルvbaでの処理方法
-
php コールバック関数
-
ナイトボットのAliasについて
-
これってなんの電話かわかりま...
-
VBAでクイズゲームの作り方
-
以下のURL入れますか?皆さんは↓
-
画像のドットの部分が抜けてい...
-
Chinapost こよパズルどう動か...
-
非同期通信で掲示板を作る際の...
-
非同期通信を使うタイミングが...
-
PYTHONのtkinterについて
-
Pythonのtkinterについて
-
Pythonを勉強する道のり
-
Pythonを無料(安価)で学ぶ方...
-
RPA(PowerAutomate)の実装について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カンマ区切りのデータを配列に...
-
迷路探索プログラムを作るには...
-
GoogleAPIの地図をPHP(Smarty...
-
二つのbxsliderをレスポンシブ...
-
C言語の 配列の中 出力について
-
google maps api v3のルート検索
-
Googleストリートビューの写真...
-
Yahoo!地図上でアイコンを表示...
-
googlemap v3 のDTD宣言について
-
Javascriptを使ってQRコード読...
-
readyStateが4にならない原因
-
SQLのmaxで求めた値を変数に代...
-
JavascriptからPHPへのAjax通信...
-
JavaScriptでtabindexの変更っ...
-
インラインフレームを自動更新...
-
jQuery を外部ファイルから呼び...
-
FullCalendar の複数月表示につ...
-
パソコンで動くjavascriptがス...
-
Ajaxで文字化けしてしまいます
-
複数対応できるチェックボック...
おすすめ情報