Google Maps API 質問箱
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001nobodyさん
2005/07/21(木) 12:52:31ID:zMECXA3l0832829
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さんの案で、自力計算から求めてみることにしました。
色々とコメントありがとうございました。
0857nobodyさん
2008/04/11(金) 09:55:14ID:???http://xoops.iko-ze.net/modules/weblogD3/details.php?blog_id=16
これね
0858nobodyさん
2008/04/11(金) 12:06:33ID:???ぽすぐれなんかだと、2点の距離計算が組み込み関数として用意されてるしね。
0859nobodyさん
2008/04/11(金) 13:13:16ID:???2点間の距離なんて関数なくても馬鹿でもわかるだろw
0860nobodyさん
2008/04/11(金) 19:50:30ID:???0861nobodyさん
2008/04/17(木) 02:31:01ID:???0862nobodyさん
2008/04/18(金) 10:45:06ID:???取得済みの「マップAPIキー」を無効にする方法はありますか?
0863nobodyさん
2008/04/18(金) 22:27:03ID:???0864nobodyさん
2008/04/25(金) 15:45:08ID:VjGTXO6P0865nobodyさん
2008/04/25(金) 20:40:24ID:???ナビタイム、X02NK/X03HT向けの地図アプリ
http://k-tai.impress.co.jp/cda/article/news_toppage/39641.html
ナビタイム、「920P」向けの助手席カーナビサービス
http://k-tai.impress.co.jp/cda/article/news_toppage/39621.html
0867nobodyさん
2008/05/03(土) 13:37:27ID:VSvM8iEpアイコンをクリックするとふきだしがエリアの下に入ってしまいます。
http://www.uniqlo.com/jp/shop/
↑のサイトのようにマーカーをクリックしたときにふきだしを
特定の位置にずらしたいのですが、
どのようにしたらよいでしょうか。。
0868nobodyさん
2008/05/04(日) 12:11:01ID:???やってるサイトがあるんならソース見ろよ
0871nobodyさん
2008/05/04(日) 15:45:50ID:???JavaScriptをPHPで出力すのは無しね
0873nobodyさん
2008/05/06(火) 22:37:57ID:???0874nobodyさん
2008/05/08(木) 09:27:55ID:???ttp://www.php.co.jp/bookstore/
0875nobodyさん
2008/05/08(木) 10:53:02ID:???phpscriptかw
0878nobodyさん
2008/05/09(金) 18:40:39ID:???0879nobodyさん
2008/05/09(金) 22:23:31ID:???そのMap表示は、再表示が必要なとこあたりか?
0881nobodyさん
2008/05/11(日) 01:40:29ID:s1zwpcjq0884nobodyさん
2008/05/11(日) 16:29:20ID:???なんでそんな気持ち悪い聞き方すんの?
0885nobodyさん
2008/05/11(日) 17:08:53ID:???出来るワケねーだろ!って言われて終りかと思ってた。
0887nobodyさん
2008/05/15(木) 15:36:36ID:???0888nobodyさん
2008/05/15(木) 20:37:19ID:???Google MapsをFlashから利用できる「Google Maps API for Flash」公開
http://internet.watch.impress.co.jp/cda/news/2008/05/15/19573.html
0889nobodyさん
2008/05/20(火) 09:50:40ID:???ttp://geoquake.jp/blog/2008/05/19/googlemaps/
0890nobodyさん
2008/05/21(水) 13:40:16ID:???グーグルアースのプライマリデータってエクスポートできる方法ありますか?
0891nobodyさん
2008/05/22(木) 03:42:09ID:???0892nobodyさん
2008/05/22(木) 10:23:40ID:???0893nobodyさん
2008/05/22(木) 10:41:48ID:???0895nobodyさん
2008/05/23(金) 00:17:05ID:jcOM65/Q0896nobodyさん
2008/06/14(土) 01:27:52ID:???0897nobodyさん
2008/06/14(土) 18:24:00ID:???ある一定以上の倍率にしたくない場合はどのような方法がありますでしょうか?
GEvent.addListener(map, 'zoomend', function(oldZoomLevel,newZoomLevel ){ });
を使えば、「一度倍率が変更された」後に強制的に倍率変更は出来そうですが、
そもそも変更させないことは可能でしょうか?
お知恵をお貸し下さいm(_ _)m
0898nobodyさん
2008/06/18(水) 19:59:25ID:???IEだと
XML ページを表示できません
スタイル シートを使用した XML 入力は表示できません。エラーを訂正してください。 [更新] ボタンをクリックするか、または後でやり直してください。
とエラーを吐かれてしまいます。
テストはいずれもWindowsXP内から、鯖は自鯖でMySQL 5.0.45+PHP 5.2.4です。
片一方ではうまくいってるのでなんともし難く、手前の腕では手詰まってしまいました。
何卒お力添えを。
0899nobodyさん
2008/06/19(木) 00:43:53ID:tlswNeC+マーカーをクリックするとふきだしが出るようにしています。
その際に、端っこのマーカーだと地図が少しずれて、
GEvent.addListener(map, 'moveend',〜 が呼び出されてしまいます。
これを呼び出されないようにする方法もしくは、呼び出された後にふきだしが表示されていれば
何も処理しないということは出来ないでしょうか?
0900898
2008/06/19(木) 02:44:22ID:???すんごい初歩ミス…orz
0901nobodyさん
2008/06/19(木) 10:11:02ID:???ムリポ
結局は噴出しでムーブするのは事実だからね
呼び出されなくする方法はないので
フラグでもつけたらいいんじゃない?
0902nobodyさん
2008/06/21(土) 01:15:46ID:???バルーン閉じてもう一回同じマーカークリックするとちゃんと表示されるんだけども。
0903nobodyさん
2008/06/21(土) 12:05:15ID:???当て推量だけどimgタグを使っていてwidthとheightを指定していないってオチじゃないか?
画像を読み込む前はイメージのサイズがわからないのでレイアウトが崩れる。
一度読み込むとキャッシュに残っているのでサイズは既知。
仕様と言えば仕様だが。
0905nobodyさん
2008/06/22(日) 02:23:04ID:???<IMG>タグを使って height 指定をしていない場合で画像の高さによって
全体の高さが変わる場合は崩れる仕様。
これはバルーン内のHTMLが形成された後に画像がロードされるから。
903が言うようにheightを指定するのが一番いいが結構面倒。
javascriptの仕様では直前にheightをとろうとしても失敗することがおおいので以下のようにすればヨロシ
GEvent.addListener( m , "click", function(){
var i =new Image();
i.onload=function(){this.openInfoWindowHtml("<img src='画像のURL'>");};
i.src="画像のURL";
})
配列でマーカー管理してるのならもうちょっと複雑になるが、
この方法では画像をロードしてからバルーンが出るのでレイアウトは崩れない。
画像が重いと開くまで一瞬時間がかかるけど。
マーカーが少ないなら全部プリロードしてしまうのも良いかもね
0906nobodyさん
2008/06/22(日) 02:24:24ID:???GEvent.addListener( m , "click", function(){
var i =new Image();
i.onload=function(){m.openInfoWindowHtml("<img src='画像のURL'>");};
i.src="画像のURL";
})
0907902
2008/06/22(日) 11:24:36ID:???丁寧にどうもです。
マーカーは20個以上あるので配列使って配置する中で単純に<IMG>タグのみで
作ってました。
HTML生成が先ということは、最悪<TABLE>タグを使ってheight指定してあげればレイアウトは保持されるということで合ってますかね?
画像は240*180でほぼ固定なのでこっちのほうが面倒は無いかなと思ったのですが。
プリロードの件、参考になりました。
今回は急を要した話だったので、今後もう少し知識付けてから参考にさせていただきます。
ありがとうございました。
0908nobodyさん
2008/06/22(日) 17:36:28ID:???<img src="image01.jpg" width="240" height="180" alt="image01">
「保持されるという事で合ってますか」とか聞く前に試してみればいいと思うんだが?
レス書いた文字数より遥かに少ないキータッチで確認できるのに(w
あと、width属性が原因かどうかは誰にも分からんよ。元の質問が「崩れる時がある」なんて情報不足も甚だしい。
真面目なレスが来ただけで奇蹟と思わないと。
HTMLの知識より先に身につける事があるんじゃね?
0909nobodyさん
2008/06/22(日) 18:17:49ID:???わざわざtableタグ使わなくても>>908のようにimgタグで十分だと思う
imgもheightやwidth指定できるし。
web上でタグとか独習してるのなら、すぐ手元で引けるHTML辞典とか買っておいた方がいいよ。
サンプルも掲載されてるからイメージ掴みやすいだろうし。
情報不足ってか、再現性が無いから崩れるときがあるって書き方したんじゃね?
そんな喧々しなくていいと思うけど。
…ただ複数のブラウザで試すとか、不具合でたブラウザくらいは書いてもいいと思ったけどな。
0910nobodyさん
2008/06/23(月) 10:04:53ID:???大枠でブロックでスペース切っとくのもいいと思うけどな
ただ、tableだとブラウザによってはheight解釈しないからdivのほうがいいぞ
ちなみに908が馬鹿なこと言ってるけど
この現象はすでに報告されている
0911nobodyさん
2008/06/24(火) 00:18:26ID:???バルーン表示時にwidth を指定していないとレイアウトが崩れるのは既知のトラブルですが、
「レイアウトが崩れた」原因が全て width, height 属性とは限らないのでは?
902 の質問は「表示が崩れる事がある」「リロードすると治る」としか書いてないので、width 属性以外の原因も想定するのは当たり前だと思うんだが。
「トラブルの原因は既知である」と信じ込むのは個人の自由だけどね。
0913nobodyさん
2008/06/24(火) 01:46:54ID:???Google Maps API は日夜バージョンアップされるので、最新バージョンで一時的に不具合が出るのはよくある。
古いバージョンのバルーンだと外側の角丸部とコンテンツの四角部に 1px の隙間が空いて表示される時期があった。
バルーン内の長文テキストに nowrap 属性を付けないとレイアウトが乱れるブラウザもあったと聞く。
「そのトラブル、俺知ってるぜ」と断定するより、色んな可能性を考えた方が楽しいよな。
0915nobodyさん
2008/07/02(水) 01:24:38ID:???サブウィンドウに表示させるようにしてますが、
ジオコーディングのコールバック関数が呼ばれる前に
サブウィンドウを閉じられるとエラーとなってしまいます。
ジオコーディングをキャンセルする方法又は、ジオコーディング側の
例外をキャッチする方法はありませんでしょうか。
因みにGUnloadでは駄目でした。
0916nobodyさん
2008/07/02(水) 12:13:36ID:???サブウィンドウの(サブウィンドウのなかのGMAP)の存在を
チェックすればエラーにはならんとおもうよ
エラーハンドルで済ませたいなら
try catch したらいいだけじゃないか
0917nobodyさん
2008/07/04(金) 09:38:47ID:???また、FIREFOX3でも別のエラーが出ています。
情報が少なくて困っているのですが、何かいい方法はないでしょうか・・・
0918nobodyさん
2008/07/07(月) 05:05:29ID:???wizmobileもなんだかグダグダだし・・・
おまいらそろそろ斬新なモジュールつくろうぜ!!!
0919nobodyさん
2008/07/07(月) 08:39:39ID:???0920nobodyさん
2008/07/13(日) 05:08:43ID:???0921nobodyさん
2008/07/15(火) 17:42:08ID:???0922nobodyさん
2008/07/18(金) 08:55:19ID:???0923nobodyさん
2008/07/19(土) 04:54:13ID:VKYrQCe0変わったね。
あと、少し前から
ズームする時、段階的に描画する様になったと思うんだけど。
0924nobodyさん
2008/07/23(水) 12:26:00ID:???http://googlejapan.blogspot.com/2008/07/google-maps.html
0925nobodyさん
2008/07/23(水) 14:48:01ID:???0926nobodyさん
2008/07/23(水) 14:59:09ID:???0927nobodyさん
2008/07/23(水) 15:04:05ID:???以前なら1/8000未満まで表示出来てた場所が出来なくなったり、番地
以下の住所が検索出来なくなってた。
会員以外へのサービスを制限したのかな? まあマップコードの確認にしか
使ってなかったから、あまり支障は無いのだが。
0928nobodyさん
2008/07/23(水) 22:28:06ID:???http://www.oshiete-kun.net/archives/2008/07/googlemap_grabber.html
0930nobodyさん
2008/07/25(金) 14:27:19ID:???0931nobodyさん
2008/07/27(日) 14:00:54ID:???ジオコーディングAPIのRESTでの戻り値の文字コードが、最近(ここ一週間くらい?)で変わった?
http://maps.google.co.jp/maps/geo?key=*****&output=xml&q=*****
で日本語の住所を(UTF-8でかつurlencodeして)リクエストして、返ってくる結果の日本語部分が、
以前まではUTF-8で返って来てたのに、今日やったらSJISになってた。
これで、前までperlのXML::ParserでParseしてたんだけど、全てnot well-formed(構文が正しくない?)
エラーが出るようになって、動かなくなった。
ちなみに、output=jsonにしても結果の文字コードがSJISなので、JSON::XSでdecode_jsonしても、
「UTF-8じゃない」とか怒られてしまって、やっぱりエラーになってしまう。
XMLにしろJSONにしろ、食わす前にEncodeでもってutf-8に変換してやれば一応食ってはくれるんだが、
Googleからの生のレスポンスに、\u2212(sjisの全角ダッシュ)とかのエスケープ文字(?)
がいくつか含まれてるようなんで、一部の文字が化けてしまう。
この出力を、utf-8固定にするようなOptionとかってないのかなあ?(例えばoutput=xml&charset=utf8とかで・・)
リファレンスページを見てみたんだが、RESTで送れるパラメータは、qとkeyとoutputしか書いてないようなんだが。
0932nobodyさん
2008/07/27(日) 17:49:10ID:???&ie=UTF-8 =>インプットエンコードを設定
&oe=UTF-8 =>アウトプットエンコードを設定
このリクエストは一応有効で、入力どうりのエンコードで帰ってくるのだが、
シフトJISでやってもEUC-JPでやってもXMLヘッダ部分の表記”UTF-8”は変わらなかった
<?xml version="1.0" encoding="UTF-8"?>
↑eucjpでもUTF-8と表示されている。
http://xoops.iko-ze.net/modules/d3blog/details.php?bid=20
レス数が900を超えています。1000を超えると表示できなくなるよ。