Google Maps API 質問箱
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2005/07/21(木) 12:52:31ID:zMECXA3l0757nobodyさん
2008/01/23(水) 12:32:14ID:???http://blog.asial.co.jp/332
こういった利用形態は、ライセンス上問題ないんですかね。
以前カシミールというソフト上で、Google Mapが利用された際には
厳しく制限されたりしたのを見ていますので。
それにしても
>ある程度使用させていただける状態になっていると私個人としてはうれしいのですが^^;
楽観主義過ぎませんかねw
世間の著作物・ライセンスに対する認識不足はますますヒドクなってる?
0759nobodyさん
2008/01/23(水) 13:29:03ID:???方法はあるんだよ。 >>754 のサイトでやっている。
「ここらで」 ttp://saya.s145.xrea.com/x/kkrd.cgi でも実現されている。
このへんを追いかけてごらん。
携帯サイトのWebプログラムを語ろう
ttp://pc11.2ch.net/test/read.cgi/php/1168955769/741
0760nobodyさん
2008/01/23(水) 20:35:57ID:???よく考えないでスクリプトをコピって転載してる奴もいるな。
ttp://ke-tai.org/blog/2008/01/22/ketaigmap/
修正ってUA見て振り分けただけじゃんw
0761nobodyさん
2008/01/24(木) 16:59:44ID:???http://dailynews.yahoo.co.jp/fc/economy/ntt_docomo/?1201159031
0762nobodyさん
2008/01/25(金) 01:55:50ID:???0763nobodyさん
2008/01/31(木) 15:01:25ID:LhzS0cv70764nobodyさん
2008/02/01(金) 16:55:09ID:K3VRVHkRttp://groups.google.com/group/Google-Maps-API-Japan/browse_thread/thread/6a793ef5b13e4e58
こんな質問もあるみたいだけど、無料で閲覧できるサイトなら使えるんじゃないの?
とにかくどこかでお金取ってたら駄目なの?
0765nobodyさん
2008/02/01(金) 18:26:58ID:???アシアルのソースを使って画像を抜き出すのはダメでしょう。
下記の「派生物の生成」にあたると思います。
ttp://www.google.com/intl/ja_jp/help/terms_maps.html
>画像イメージ
>ユーザーは、全部であるか一部であるかを問わず、画像の複写、リバースエンジニアリング、逆コンパイル、逆アセンブル、変換、修正または派生物の生成をすることはできません。
0766nobodyさん
2008/02/05(火) 16:30:24ID:ifQzZhST商用サイト(マップを使う分は無料)は可能ですか?
ちょっと気になったのですが、規約にはマップ上の企業情報を使うのは禁止と書いてありますが。
地図については触れていなかったもので
0767nobodyさん
2008/02/05(火) 22:58:56ID:???0768nobodyさん
2008/02/07(木) 00:43:29ID:???PHPとか使えば可能?
0769nobodyさん
2008/02/07(木) 09:36:25ID:???0770nobodyさん
2008/02/08(金) 00:48:09ID:???要は、直リンクできないようにしてる場合は読み込めない。
0771nobodyさん
2008/02/08(金) 22:00:19ID:CMFOa3WL0772nobodyさん
2008/02/10(日) 10:55:12ID:???0773nobodyさん
2008/02/12(火) 21:44:50ID:???なんか労力かけたものが無になる・・・
http://japonyol.net/editor/
ここの地下鉄マップとかと同じ運命になるかと思うと、ね。
0775nobodyさん
2008/02/13(水) 09:32:34ID:???ソースに配列作る訳じゃなしキャッシュにも残らないから盗まれにくくはなるね
0776nobodyさん
2008/02/13(水) 09:58:03ID:???嫌なら公開なんぞしない事
0777nobodyさん
2008/02/18(月) 12:21:34ID:vZO+WO3qいつから変わっんですか?
0778nobodyさん
2008/02/18(月) 15:33:18ID:???0779nobodyさん
2008/02/19(火) 15:14:23ID:???+1ならa.png +2ならb.pngといった具合です。
0780nobodyさん
2008/02/19(火) 19:07:15ID:arJJXBJCあとは調べれば分かる。簡単な事だ。
0781nobodyさん
2008/02/19(火) 19:56:11ID:???0782nobodyさん
2008/02/19(火) 20:02:53ID:???ttp://jsgt.org/ajax/newmon/GoogleMapsAPIv2.htm#GMap2
zoomend
oldLevel, newLevel
このイベントは、マップビュー(地図)のズームレベル変更時(訳注:変更後)に発生します。
イベントハンドラは引数として旧レベルと新しいズーム・レベルを受け取ります。
GEvent.addListener(map, 'zoomend', function(oldZoomLevel,newZoomLevel ){ });
0783nobodyさん
2008/02/19(火) 22:25:43ID:26bl+Wkoどうなってるんだ?
0784nobodyさん
2008/02/19(火) 22:53:06ID:???0785nobodyさん
2008/02/20(水) 02:33:38ID:???そのパソコン壊れてるよw
っていうかウィルス…
0787nobodyさん
2008/02/23(土) 17:51:38ID:m8IAPkeAhttp://code.google.com/apis/maps/documentation/staticmaps/
だがしかし、1日1000ユニーク画像・・・・・・・
0789nobodyさん
2008/02/28(木) 14:34:36ID:beUB4DeX今までは出来てたんですが、
「Google マップ APIに使用されているキーは他のウェブサイトに登録されています。」
というエラーが出ます。
なぜでしょう。
keyを再取得しても同じkeyが発行されます。
日本語ドメインだとダメ、という情報も見ましたが、私は該当しません。
0790nobodyさん
2008/02/28(木) 15:02:47ID:???0791nobodyさん
2008/02/29(金) 13:01:29ID:???>query limit of 1000 unique (different) image requests per viewer per day.
ってのは、1視聴者が1日に1000ユニーク画像(パラメータ)って事なのかな?
だとしたら、自前でズームやスクロール機能を付けると場合によってはヤヴァいですねぇ…
で、この制限を超えた場合の措置ってどうなんでしょう?
APIkey単位で利用不可?
そのユーザーだけ利用不可?
利用不可はその日だけで、翌日はまた利用可能?
英語の苦手な私に、だれか教えてくださいませ。
0792nobodyさん
2008/02/29(金) 15:45:44ID:???0793nobodyさん
2008/03/05(水) 19:47:33ID:1NEhUyUBリンク先に飛ぶと常に新しいウィンドウを開くようになってるんだけど、
これを同じウィンドウに表示させることってできる?
0794nobodyさん
2008/03/07(金) 17:42:37ID:Sx/QGO8bvar map = new GMap2(document.getElementById("map"));
var geocoder = new GClientGeocoder();
var one;
var two;
geocoder.getLocations( "港区赤坂5-3-6", function(locations) {
if (!locations || locations.Status.code != 200) {
alert(address + " not found");
} else {
var place = locations.Placemark[0];
var point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
one = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
map.setCenter(point, 16);
var marker = new GMarker(point);
map.addOverlay(marker);
}
} );
geocoder.getLocations( "港区東新橋1-6-1", function(locations) {
if (!locations || locations.Status.code != 200) {
alert(address + " not found");
} else {
var place = locations.Placemark[0];
var point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
two = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
var marker = new GMarker(point);
map.addOverlay(marker);
}
} );
var gb = new GLatLngBounds( one, two );
map.setCenter( gb.getCenter(), map.getBoundsZoomLevel( gb ) );
0795nobodyさん
2008/03/07(金) 20:14:08ID:???0796nobodyさん
2008/03/08(土) 13:22:49ID:MdAlPFz+馬鹿だなこいつ
これは完全に規約違反だよ。
URLリクエスト投げるだけでいいのに
わざわざPHPwrapするいみあるのか?
MAP画像をはくなバカ。重いだけだぞ。
実現のための手順だが、
画像を生成するための<img>タグにURLを吐くのが正解です。
PHPでやりたいなら要するにこうだ。
以下のような”テキスト”を吐くだけでいい。
<img src="http://maps.google.com/mapprint?tstyp=4&c=.....">
そうすると携帯から画像要求をGoogleに直接リクエストしてるから何の問題もない。
表示結果も同じだ。
マーカーもパラメータでついかできるしな。
今後はstaticmapのがいいのかもしれないな。
そのコードもなかで同じことやっとるけど。
PHPの出力がGoogleの画像名時点でアウト。重くしてどうすんだよ
まさにズボンはいてからパンツはいて逮捕されるようなソースコードですよ・・・
てか、こんなレベルのヤツがPHPの本出版てハライタス
0798nobodyさん
2008/03/08(土) 20:02:26ID:???0799nobodyさん
2008/03/08(土) 21:05:52ID:???0800nobodyさん
2008/03/09(日) 03:21:38ID:???http://www.itmedia.co.jp/enterprise/articles/0803/08/news008.html
「あんたのサイトはトラフィック多過だからプレミアにしてね」
と言われてしまう時代が到来するのか?
0801nobodyさん
2008/03/10(月) 17:07:02ID:zx2D80AV<div onclick="hogehoge()">地図表示</div>
<div onclick="hugihugi()">地図表示2</div>
function hogehoge(){
var map = new GMap2(document.getElementById("map"));
map.addControl( new GLargeMapControl() );
map.setCenter(new GLatLng(123456789), 15); var point = new GLatLng(123456789);
map.addOverlay(new GMarker(point)); map.openInfoWindow(map.getCenter(), document.createTextNode("hogehoge"));}
function hugihugi(){
var map = new GMap2(document.getElementById("map"));
map.addControl( new GLargeMapControl() );
map.setCenter(new GLatLng(98765431), 15); var point = new GLatLng(98765431);
map.addOverlay(new GMarker(point)); map.openInfoWindow(map.getCenter(), document.createTextNode("hogehoge"));}
こんな感じでボタンを押すたびに別の地図を表示したいんですが、
実際にやるとメモリがとんでもなく消費されます(特にIE6)
これを回避するいい方法はないでしょうか?よろしくお願いします。
0802nobodyさん
2008/03/10(月) 17:25:02ID:OSs1Oy0P>>794 どなたか分かりませんかね
0804nobodyさん
2008/03/10(月) 21:20:09ID:???切り分けから初めて、機能ごとに確認していくべき
0805nobodyさん
2008/03/10(月) 21:30:21ID:???map.setCenter( gb.getCenter(), map.getBoundsZoomLevel( gb ) );
をそれぞれのelseに入れる
0806794
2008/03/10(月) 21:46:50ID:???でも何でデキて何でデキなかったのか全く分からないや orz
0808nobodyさん
2008/03/10(月) 22:07:08ID:???もしかして
GClientGeocoder.getLocations
GLatLngBounds.extend
2つを共存させるには、どっか1点固定で指定しておかないとダメかしら
0809nobodyさん
2008/03/11(火) 07:35:39ID:???どっちかのgetLocationsしたポイントが真ん中に来て欲しいのなら
GLatLngBoundsはあくまで適切なzoomサイズの計算のためだけに使っておいて
最後にcenterだけ変更
0810nobodyさん
2008/03/11(火) 10:45:41ID:83XDff5LgetLocationsで30個ほどマーカーを置きたいのですが
上から順番に動作するわけじゃない為
extendが上手く動いてないのかな
という意味です
0811nobodyさん
2008/03/11(火) 18:13:59ID:???グーグルマッパーの俺様がきましたよ。
とりあえずサイト見せてくれれば速攻みてあげるのですが。
これは処理のタイミングの問題だね。
geocoder.getLocations( )で定義するファンクションが実行されるのは、
いわゆるAjax的な通信処理が終わった後ということになります。
問い合わせして数ミリ秒いかかる処理を別スレッドで実行しているため、
グローバルなone twoの値をとっていますが
var gb = new GLatLngBounds( one, two );
map.setCenter( gb.getCenter(), map.getBoundsZoomLevel( gb ) );
ここに来たときの one two には何も入ってないわけです。
よって解決方法は
1.setTimeout()でGLatLngBoundsのタイミングをずらす。
(但しこの場合はレスポンスタイムがわからないため)
2. グローバル変数にカウンタを持たせる。読み込み後、同一ファンクションを通過させて
0812nobodyさん
2008/03/11(火) 18:15:43ID:???2. グローバル変数にカウンタを持たせる。
(読み込み後、同一ファンクションを通過させて。必要数の処理を確認した後GLatLngBounds
を実行する。)
などなど、やるかたはいろいろあるとおもうよ。
0813nobodyさん
2008/03/11(火) 19:07:03ID:???いわゆるAjax的な動きが全く分かってませんでした (TдT)
本当にありがとうございました
0815nobodyさん
2008/03/13(木) 17:28:34ID:+Hfx6OQJ規約の
>ユーザーは、Google マップを本人またはその他の者が、多量の緯度経度の数値データをダウンロードやフィードするためのアクセスを得るような方法で利用してはなりません。
にひっかかるんでしょうか?
0816nobodyさん
2008/03/13(木) 17:59:35ID:HYLpscVUGoogle マップを本人またはその他の者が、多量の緯度経度の数値データを
ダウンロードやフィードするためのアクセスを得るような方法で利用しなければおk
0818nobodyさん
2008/03/14(金) 10:15:37ID:???GClientGeocorder.getLocations を一度に大量に使うと
間違いなく規約に引っかかる
マーカー作るときは「既にget済みの」LatLngで実行すれば
大量の問い合わせは発生しない
さて大量のポイントをどうやって「既にget済みの」状態にするかだ
0819nobodyさん
2008/03/14(金) 11:18:47ID:???同じようなことしてる人のソースをパクれば規約違反にならないでしょうか?
0820nobodyさん
2008/03/14(金) 21:47:39ID:???人のソースをパクりました。
0821nobodyさん
2008/03/15(土) 02:25:01ID:???0822nobodyさん
2008/03/15(土) 06:52:42ID:???ただ単に経緯度情報が欲しいがためにアクセスしまくるなって事だろ。
解決したならいいけど。
0823nobodyさん
2008/03/16(日) 15:55:50ID:???このデータはGoogle Maps APIでは取れないですよね?
どこから取ってるんでしょう?
GeoCoderのAPIでアドレス検索 > 経緯度取得 > hotpperなどで経緯度周囲の店
検索とかはできるんですが・・・
0824nobodyさん
2008/03/16(日) 15:57:21ID:???0825nobodyさん
2008/03/16(日) 16:37:28ID:???GlocalSearchっていうGoogle Ajax Searchの方のAPI使えば、
経緯度周囲の情報が取れるんですね。
0826nobodyさん
2008/03/17(月) 10:29:54ID:???ブラウザが落ちるようになったんですが、何か情報をお持ちの方いませんか?
参考:
textbox.jp :: 備忘録 :: MacOSX10.3のSafariでGoogleMapを表示すると落ちる件
http://www.textbox.jp/note/safari-google-map-crash.html
0827nobodyさん
2008/03/17(月) 10:40:22ID:???日本語版のヘルプページが更新されていないのが問題とのこと
ソース ↓
http://groups.google.com/group/Google-Maps-JP-Troubleshooting/browse_thread/thread/6145907864ac9be1
英語版では
Which web browsers does Google Maps support?
Google Maps currently supports the following web browsers:
* IE 6.0+ (download: Windows)
* Firefox 1.5+ (download: Windows Mac Linux)
* Safari 2.0.4+ (download: Mac)
If you're using one of these browsers and are encountering problems, please visit our troubleshooting guidelines.
とのことです。
0828826
2008/03/17(月) 11:31:50ID:???・GBrowserIsCompatibleで判定しても駄目
・そもそも Google マップ http://maps.google.co.jp/ を開いても落ちる
ので、Googleの対応待ちかと。
0829nobodyさん
2008/03/25(火) 19:55:29ID:ePll5l2q参考書を買って勉強中なのですが、
↓のソースに情報ウィンドウを追加させるにはどのようにしたらいいでしょうか?
http://www.openspc2.org/reibun/Google/Maps/API/ver2/marker/005/index.html
0830829
2008/03/25(火) 19:57:10ID:ePll5l2qhttp://www.openspc2.org/reibun/Google/Maps/API/ouyou/ver2/013/index.html
0832829
2008/03/26(水) 00:14:42ID:fPFMy6eV言葉足らずで申し訳ありません。
やりたいこと:
>>830のソースを元とし、マーカーがクリックされたらcsvから読込まれた情報ウィンドウを表示したい
わからないこと:
GEvent.addListenerをどこに追加し、
csvのデータをmarker.openInfoWindowHtmlに渡す?その追加方法がわかりません.
0833829
2008/03/26(水) 00:17:10ID:fPFMy6eVfunction addMarker() {
map.clearOverlays(); // 全てのマーカーを消去(線も消えるので注意)
var count = 0; // 表示するマーカーの数をカウントする変数
var CR = String.fromCharCode(13);
var txt = httpObj.responseText;
var pointData = txt.split(CR);
var area = map.getBounds();
for (var i=0; i<pointData.length; i++) {
var pnt = pointData[i].split(",");
var mx = pnt[0];
var my = pnt[1];
var gpObj = new GLatLng(my, mx);
if (area.contains(gpObj)) {
map.addOverlay(new GMarker(gpObj));
count++;
}
GEvent.addListener(gmap, "click", function(marker){
marker.openInfoWindowHtml(csvのデータ指定);
} );
}
0834nobodyさん
2008/03/26(水) 01:03:55ID:???変数がいきなり変わってたりして意味不明やけど、
map.addOverlay(new GMarker(gpObj));
こうすると追加したマーカーに対してイベントを設定できない。
marker = new GMarker(gpObj));
中略
GEvent.addListener(marker, "click"〜
合ってるかどうかは知らんけど、たぶんいける
0835829
2008/03/26(水) 19:03:16ID:+Zi/Ns8Oレスありがとうございます。
ご指摘いただいた箇所を修正しましたが、エラー表示が出てしまいました。
変更箇所が悪かったのでしょうか?
if (area.contains(gpObj)) {
marker = new GMarker(gpObj));
count++;
}
GEvent.addListener(marker, "click", function(marker){
marker.openInfoWindowHtml(csvのデータ指定);
} );
}
---------------------------------------
marker = new GMarker(gpObj));
↑の行数でエラーが出てるようです
ライン:37
文字:32
エラー:';'がありません。
コード:0
---------------------------------------
0836nobodyさん
2008/03/26(水) 20:34:17ID:???0837nobodyさん
2008/03/27(木) 12:23:57ID:x8Bfv0lr0839829
2008/03/27(木) 23:43:16ID:MqTPnQ18>>650の方が同じようなことをやっていましたので参考にしました。
現在は情報ウィンドウが表示されるようになりました。
ありがとうございます。
次なのですが、情報ウィンドウが表示できたのですがCSVから読込みさせる方法でつまづいています。
どのように指定すればいいのでしょうか?
0840829
2008/03/27(木) 23:45:01ID:MqTPnQ18var CR = String.fromCharCode(13);
var txt = httpObj.responseText;
var pointData = txt.split(CR);
var area = map.getBounds();
for (var i=0; i<pointData.length; i++) {
var pnt = pointData[i].split(",");
var mx = pnt[0];
var my = pnt[1];
var gpObj = new GLatLng(mx, my);
if (area.contains(gpObj)) {
marker = new GMarker(gpObj);
count++;
map.addOverlay(marker);
GEvent.addListener(map,"click",function(marker){
if(marker){
marker.openInfoWindowHtml(CSVの列番号を指定);
}});}}
0841829
2008/03/27(木) 23:47:05ID:MqTPnQ18var mz = pnt[3];
var gpOiw = new htmlElem(mz);
if (area.contains(gpObj)) {
↑こんな感じで足せばいいと思ったのですが考えが甘かったです・・・
0842nobodyさん
2008/03/28(金) 01:45:51ID:???教えるじゃなく、ソース全部書いてあげることになりそう
0843nobodyさん
2008/03/29(土) 12:10:58ID:???0844nobodyさん
2008/04/09(水) 17:34:20ID:???このサイトを携帯から見た場合、地図の表示範囲内にあるマーカーの一覧が下に表示されます。
携帯向けなのでJAVAスクリプト未使用のはず。
JAVAスクリプトを使わずにこのような表示をするにはどうしたら良いのでしょうか。
0845nobodyさん
2008/04/09(水) 17:43:54ID:???マーカーの場所はデータとして持っていて、
どの場所を地図上にマーキングするかをコントロールしているんだから
そのマーキングの名称やらをページ内に表示できることに何の不思議もないですよ。
0846nobodyさん
2008/04/09(水) 19:00:22ID:???なるほど。
地図の範囲内にマーカー座標が含まれている
↓
マーカー表示、およびマーカー情報を表示ということですよね。
その判別(絞込み)方法が知りたいのですが・・・
0848nobodyさん
2008/04/09(水) 21:09:39ID:???> 地図の範囲内にマーカー座標が含まれている
いや考え方が逆
地図の範囲内に含まれるポイントをマークする。
この違いは判りますよね?
0849nobodyさん
2008/04/09(水) 21:36:21ID:???はい、それについては判ってます。
>地図の範囲内に含まれるポイントをマークする
この場合PHPで処理するなら次のような感じですよね。
if(地図の範囲内にポイントが存在) {
マーカーの情報をデータベースから取り出して表示
}
どうやって地図の範囲を調べてるのか、そのロジックがわからないんです。
0850nobodyさん
2008/04/10(木) 00:39:22ID:???0851nobodyさん
2008/04/10(木) 02:43:56ID:???> どうやって地図の範囲を調べてるのか、そのロジックがわからないんです。
API見てこいボケ!そのまんまあるわ
0852nobodyさん
2008/04/10(木) 04:41:32ID:???探してみましたが見つかりませんでした。
Google Static Maps APIに関しては情報が少ないんで良く分からないんですよね。
とりあえずもうちょっと探してみます。
0853nobodyさん
2008/04/10(木) 12:14:03ID:???var gmarker = new GMarker(new GLatLng(37.4419, -122.1419));
gmarker.onclick = function() { alert('clicked.'); }
としたけどだめでした。
こんな簡単な質問でごめんなさい。
0854nobodyさん
2008/04/10(木) 22:47:34ID:???そもそも gnaviはXOOPSのモジュールでおーぷんそーすだろ?。
ごたごたいうまえにソースDLしてみてみろよ
ソースDLできるじゃねぇか
0855nobodyさん
2008/04/10(木) 23:09:55ID:???>>853
var gmarker = new GMarker(new GLatLng(37.4419, -122.1419));
GEvent.addListener(gmarker, "click", function() {
alert('clicked.');
});
でいけねーかな。
googlemapのイベントはリスナーでとるのよ
0856nobodyさん
2008/04/11(金) 05:18:50ID:???まだ携帯版は公開されてないんです。
とりあえず>>850さんの案で、自力計算から求めてみることにしました。
色々とコメントありがとうございました。
■ このスレッドは過去ログ倉庫に格納されています