- ベストアンサー
GoogleMap APIキーが他のウェブサイトに登録されています
- APIキーを取得し、ホスティングサーバに転送した後、エラーメッセージが表示される状況になりました。
- 自宅のローカルIISでは正常に動作するが、独自ドメインのレンタルサーバではエラーが発生する。
- VWD2005を使用しているため、アドバイスが必要です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
文字通りなのですが、Google API keyは各サイト毎に登録するものです。不正使用を防ぐため、Googleではそのサイトからのアクセスのみプログラムを送信し、それ以外のサイトからのアクセスでは当該エラーを吐きます。 あなたがアップロードしたホスティングサーバで取ったキーを貼付けなければ駄目です。当然ながら、自宅で検証する事は出来ません(自宅で良かったらアップロードしたものは駄目な筈です)。 独自ドメインで運用するなら、その独自ドメインで取得したキーを貼付けてからアップロードすれば見える筈です。キーは何度でも取得出来ますので(同じURLならキーは同じです)、間違っていないかどうか再確認してみて下さい。 なお、Google MapsはJavaScriptですので、ASP等は基本的に関係無いと思います。
その他の回答 (1)
- taketan_mydns_jp
- ベストアンサー率58% (450/773)
> (自宅のPCから)GoogleMapsのサイト上で > My web site URL:http://xxxx.jp(と入力) > で得られたキーを貼り付ければよろしいのでしょうか? その通りです。同時にHTMLも出てくると思いますが、それをコピーして適当な名前を付けて保存し、試しにサーバにアップロードしてみてください。うまく表示されれば、作業自体は問題ありません。 > 自宅ではだめ(検証不可)でも、自宅外のところから地図が閲覧できるのでしょうか? そんな事はありません。自宅からも普通に見れるはずです(自宅のサーバにアップロードしたものではサーバ名が違うので見られないですが)。 ところで、キーのはりつけというのはどういう風にやってますか? 以下のようになっていますよね? <script src="http://maps.google.com/maps?file=api&v=2&key=取得したキー" type="text/javascript"></script> ちゃんと出力されているか、エラーが出ているページのHTMLソースを良く確認してみてください。 下記ページも参考にしてみてください。 http://webtips.open-log.net/?JavaScript%2FGoogle%20Maps%20API%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B
お礼
taketan_mydns_jp さん、ありがとうございました。 お手数をおかけして、申し訳ありませんでした。 (質問フォームの使い方も間違えたようです) 原因が判明しました。Keyのコードを途中で改行してしまったことでした。 改行を削除して1行にし、アップロードしたところ問題なく地図を表示することができました。それだけではなく、<body onload="...">も難なくパスしました。こんなことで本当にお手数をおかけしました。 今後ともよろしくお願いいたします。重ねて御礼申し上げます。
補足
taketan_mydns_jp さん、ありがとうございます。 アドバイスどおり実行していると思います。原因はどうも<Body onload="...">タグの使い方に間違いがあるようです。現状は下記のようになっています。 ・MasterPageとContentPlaceHolderContentを使っています。 ********************************************************************** <%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Menu2.aspx.cs" Inherits="Menu2" Title="タイトル" %> <%@ MasterType VirtualPath="~/MasterPage.master" %> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolderContent" Runat="Server"> <table> <tr><td> ここです!!<body>タグは使えないですよね!しかし、問題なく使えるのです。更にローカルPCでは地図もきちっと表示します。そこでアップすると地図が表示できず、例のメッセージが出現するのです。 <body onload="onLoad()" onunload="GUnload()"> <div id="map" style="width: 540px; height: 600px"></div> </body> </td></tr> </table> <script src="http://maps.google.com/maps?file=api&v=2& key=ABQIAAAAre1-YgrQIhl77xjQH6p-FhTeKYsMH6_5LM9faB1pve1GLy4XphSjOSRYrYN_・・・・・" type="text/javascript"> </script> <script type="text/javascript"> // <![CDATA[ function onLoad() { var html = "XXXXXXXXXXXXXXXXXXXXXXXX"; var map = new GMap2(document.getElementById("map")); map.addControl(new GSmallMapControl()); map.addControl(new GMapTypeControl()); map.setCenter(new GLatLng(23.1234,123.1234), 15); map.openInfoWindowHtml(map.getCenter(), html); } // ]]> </script> </asp:Content> ***************************************************************************** <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">で作成した場合、アップしても問題なく地図が表示できました。無知ゆえの原因で、申し訳ありません。MasterPageとContentPlaceHolderContentを引き続き使いたいのですが、<body>タグ以外で利用できないのでしょうか? よろしくお願いいたします。
お礼
taketan_mydns_jp さん おはようございます。 早速のアドバイアス、ありがとうございます。ご指摘の理屈は理解できたつもりなのですが、具体的にどのような処理をしたら良いのか思いつきません。 ******************************************************************* あなたがアップロードしたホスティングサーバで取ったキーを貼付けなければ駄目です。 ******************************************************************* 如何にして、利用しているホスティングサーバからキーを入手たら良いのでしょうか?例えば、レンタルホスティングサービス会社に依頼して入手したドメイン名を「http://xxxx.jp」とすれば、(自宅のPCから)GoogleMapsのサイト上で I have read and agree with the terms and conditions (printable version) My web site URL:http://xxxx.jp(と入力) で得られたキーを貼り付ければよろしいのでしょうか?実は何度も試しているのですが、当該エラーが表示されます。しかし、自宅ではだめ(検証不可)でも、自宅外のところから地図が閲覧できるのでしょうか? せっかくのアドバイス、正しく理解できなくて申し訳ありません。再度、よろしくご説明頂ければ幸いです。
補足
taketan_mydns_jp さん、ありがとうございました。 お手数をおかけして、申し訳ありませんでした。 (質問フォームの使い方も間違えたようです) 原因が判明しました。Keyのコードを途中で改行してしまったことでした。 改行を削除して1行にし、アップロードしたところ問題なく地図を表示することができました。それだけではなく、<body onload="...">も難なくパスしました。こんなことで本当にお手数をおかけしました。 今後ともよろしくお願いいたします。重ねて御礼申し上げます。