人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

おそらく昨日からと思いますが、GoogleMapが全く表示されなくなりました。
よろしくお願い致します。

<script src="http://maps.google.com/maps?file=api&v=2&key=" type="text/javascript"></script>
<div id="map" style="width: 560px; height: 400px"></div>

<script type="text/javascript">
//<![CDATA[
window.onload=loadMap;
var map;
var panorama;

function loadMap()
{
map = new GMap2(document.getElementById("map"));
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.addControl(new GScaleControl());
map.setCenter(new GLatLng(34.38, 135.00), 16);
var point = new GLatLng(34.38,135.00);
map.setCenter(point, 16);
var icon = new GIcon();
icon.image = "img/gmaproom.png";
icon.iconSize = new GSize(35, 35);
icon.iconAnchor = new GPoint(7, 35);
var markeropts = new Object();
markeropts.icon = icon;
var marker = new GMarker(point, markeropts);
map.addOverlay(marker);
map.openInfoWindowHtml(point,"HTML");
GEvent.addListener(map, "click", moveCenter);
var street = new GStreetviewOverlay();
map.addOverlay(street);
var option = { latlng:spoint };
var scontainer = document.getElementById("street");
panorama = new GStreetviewPanorama(scontainer, option);
var spoint = new GLatLng(34.38, 135.00);
panorama.setLocationAndPOV(spoint);
}
function moveCenter(overlay, point){
map.panTo(point);
panorama.setLocationAndPOV(point);
panorama.show();
}
//]]>
</script>

●質問者: uwao
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3
●200ポイント ベストアンサー

Google Maps API V2 サポートが終了したのがきっかけみたいですね。

注: Google Maps JavaScript API バージョン 2(V2)は、2010 年 5 月 19 日に正式にサポートが終了しました。V2 の廃止スケジュールは 2013 年 5 月 19 日の予定でしたが、2013 年 11 月 19 日(太平洋時間、日本時間では 2013 年 11 月 18 日)まで延期することになりました。この日以降は V2 を使っている地図は、下位互換機能を持たせた V3 の地図に自動的に切り替わる予定です。この下位互換機能により、大部分のシンプルな地図は機能すると考えますが、この日以前に V3 へ移行を完了することを強く推奨いたします。

Google Maps JavaScript V2(非推奨) - Google Maps JavaScript API v2(サポート終了) — Google Developers

でも、V2 が動くことを期待していたところは、全滅っぽいです。

※注2 当ホームページ内のGoogleマップ V2地図は2013.11.19までは表示できましたが、2013.11.20以降 全て表示できなくなりました。Googleが準備する JavaScript wrapperで「大部分のシンプルな地図は表示できる」はずですが、原因は不明です。(2013.11.20追記)

Googleマップ V3 設置法 ? Google Maps API V2 から V3 への移行方法

そもそも、API の要である GMap2 というオブジェクトが未定義なので、スクリプトのほぼ初っ端でエラーで止まります。
Google が「大部分のシンプルな地図は機能すると考えます」の通りにしてくれるのを待つか、V3 に移行するか...


uwaoさんのコメント
有り難うございました。 今日、動作を確認したところ、正常に閲覧出来るようになっていました。 おそらく、v2を停止させたものの、全滅状態になったのでv2も動作するようにされたのではないかと思われます。 お勧めのとおり、近く、v3に対応するようにしたい(すべき)と思っております。 有り難うございました。

a-kuma3さんのコメント
あら、復活したんですね。 雰囲気だけですが、マニュアルと首っ引きで V3 に移植してみました。 jsFiddle で試してみたのがこちら。 http://jsfiddle.net/a_kuma3/a5Ut4/embedded/result/ 座標位置が瀬戸内海の海の中なんですけど、あってますよね? 数値は、質問のコードにあったものを極力使いましたが、ふたつほど変更しています。 -アイコンと吹き出しがかぶるので、アイコンを下にずらした -ストリートビューの位置指定がサービス可能な場所じゃないとはじかれるので、陸地に移動した GStreetviewOverlay に相当するものが無いらしいのですが、ペグマン君を持ち上げた時の見た目とちょっと違います。 後、位置を移動したときのストリートビューの判定がシビアで。 ちょっとずれただけで、ペグマン君が定位置にお戻りになってしまいます <tt>orz</tt> ソースは、こんな感じです。 >|html| <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script> </head> <body> <style> #map { float: left; } </style> <div id="map" style="width: 560px; height: 400px"></div> <div id="street" style="width: 560px; height: 400px"></div> <script type="text/javascript"> window.onload=loadMap; var map; var panorama; function loadMap() { var point = new google.maps.LatLng(34.38,135.00); // Map var mapopts = { zoom: 11, center: new google.maps.LatLng(34.38, 135.00), mapTypeId: google.maps.MapTypeId.ROADMAP, // streetViewControl: false, }; map = new google.maps.Map(document.getElementById("map"), mapopts); // Marker var markeropts = { position: point, map: map, icon: { anchor: {x: 7, y: 0}, /* 場所をずらしてます */ size: {height: 35, width: 35}, url: "http://www.st-hatena.com/users/a-/a-kuma3/profile_s.gif", }, }; var marker = new google.maps.Marker(markeropts); google.maps.event.addListener(map, "click", moveCenter); // InfoWindow var infoopts = { position: point, content: "HTML" }; var infowin = new google.maps.InfoWindow(infoopts); infowin.open(map); // Street View (Road) var street = new google.maps.ImageMapType({ getTileUrl: function(coord, zoom) { var X = coord.x % (1 << zoom); return "http://cbk0.google.com/cbk?output=overlay&zoom=" + zoom + "&x=" + X + "&y=" + coord.y + "&cb_client=api"; }, tileSize: new google.maps.Size(256, 256), isPng: true, opacity: 0.8 }); map.overlayMapTypes.push(street); // Street View var scontainer = document.getElementById("street"); var streetviewopts = { position: new google.maps.LatLng(34.367538,134.897579), /* 場所をずらしてます */ pov: { heading: 0, pitch: 0, zoom: 1 } }; panorama = new google.maps.StreetViewPanorama(scontainer, streetviewopts); map.setStreetView(panorama); } function moveCenter(e) { map.panTo(e.latLng); panorama.setPosition(e.latLng); } </script> </body> </html> ||<

uwaoさんのコメント
有り難うございました。 v3対応に追われてご返事が遅くなりましたが、大変、参考になりました(^v^)
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ