Google Maps API 質問箱at PHP
Google Maps API 質問箱 - 暇つぶし2ch800:nobodyさん
08/03/09 03:21:38
Google、企業向けに「Google Maps API Premier」をリリース
URLリンク(www.itmedia.co.jp)


「あんたのサイトはトラフィック多過だからプレミアにしてね」
と言われてしまう時代が到来するのか?

801:nobodyさん
08/03/10 17:07:02 zx2D80AV
<div id="map" style="width: 500px; height: 300px;"></div>

<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)

これを回避するいい方法はないでしょうか?よろしくお願いします。

802:nobodyさん
08/03/10 17:25:02 OSs1Oy0P
functionの外でvar mapしてもダメなの

>>794 どなたか分かりませんかね

803:nobodyさん
08/03/10 20:29:12
>>794

>>795

804:nobodyさん
08/03/10 21:20:09
APIの問題なのか、コードの問題なのか
切り分けから初めて、機能ごとに確認していくべき

805:nobodyさん
08/03/10 21:30:21
var gb = new GLatLngBounds( one, two );
map.setCenter( gb.getCenter(), map.getBoundsZoomLevel( gb ) );
をそれぞれのelseに入れる

806:794
08/03/10 21:46:50
できました! ありがとうございます

でも何でデキて何でデキなかったのか全く分からないや orz

807:nobodyさん
08/03/10 21:56:28

>>795

808:nobodyさん
08/03/10 22:07:08
>>794 このコードが最終的な目的じゃないんですけど
もしかして
GClientGeocoder.getLocations
GLatLngBounds.extend
2つを共存させるには、どっか1点固定で指定しておかないとダメかしら

809:nobodyさん
08/03/11 07:35:39
たとえば2件だったらその中間点が中心にくるのは当たり前

どっちかのgetLocationsしたポイントが真ん中に来て欲しいのなら
GLatLngBoundsはあくまで適切なzoomサイズの計算のためだけに使っておいて
最後にcenterだけ変更

810:nobodyさん
08/03/11 10:45:41 83XDff5L
わかりにくくて、すみません
getLocationsで30個ほどマーカーを置きたいのですが
上から順番に動作するわけじゃない為
extendが上手く動いてないのかな
という意味です

811:nobodyさん
08/03/11 18:13:59
>>810
グーグルマッパーの俺様がきましたよ。
とりあえずサイト見せてくれれば速攻みてあげるのですが。

これは処理のタイミングの問題だね。
geocoder.getLocations( )で定義するファンクションが実行されるのは、
いわゆるAjax的な通信処理が終わった後ということになります。


問い合わせして数ミリ秒いかかる処理を別スレッドで実行しているため、

グローバルなone twoの値をとっていますが
var gb = new GLatLngBounds( one, two );
map.setCenter( gb.getCenter(), map.getBoundsZoomLevel( gb ) );
ここに来たときの one two には何も入ってないわけです。

よって解決方法は

1.setTimeout()でGLatLngBoundsのタイミングをずらす。
  (但しこの場合はレスポンスタイムがわからないため)

2.  グローバル変数にカウンタを持たせる。読み込み後、同一ファンクションを通過させて



812:nobodyさん
08/03/11 18:15:43
>>811 のつづき

2. グローバル変数にカウンタを持たせる。
   (読み込み後、同一ファンクションを通過させて。必要数の処理を確認した後GLatLngBounds
   を実行する。)

などなど、やるかたはいろいろあるとおもうよ。


813:nobodyさん
08/03/11 19:07:03
できたああああああああああああああああああああああああああ

いわゆるAjax的な動きが全く分かってませんでした (TдT)
本当にありがとうございました

814:nobodyさん
08/03/12 15:22:59
いいってことよ。

>>796の件は
規約違反かどうかはわからないけど
ソースがうまくないのは確かだね。

815:nobodyさん
08/03/13 17:28:34 +Hfx6OQJ
ポインターを200個ぐらい地図上に並べるのって、規約違反になったりしますか?

規約の
>ユーザーは、Google マップを本人またはその他の者が、多量の緯度経度の数値データをダウンロードやフィードするためのアクセスを得るような方法で利用してはなりません。

にひっかかるんでしょうか?

816:nobodyさん
08/03/13 17:59:35 HYLpscVU
何をしたいのかよくわからないけど、
Google マップを本人またはその他の者が、多量の緯度経度の数値データを
ダウンロードやフィードするためのアクセスを得るような方法で利用しなければおk

817:nobodyさん
08/03/13 23:40:49
>>815
本当に何を言いたいのかさっぱりわからんな
ポインターってマーカーの事だろか?

818:nobodyさん
08/03/14 10:15:37
マーカーでポイントするときにわざわざ
GClientGeocorder.getLocations を一度に大量に使うと
間違いなく規約に引っかかる
マーカー作るときは「既にget済みの」LatLngで実行すれば
大量の問い合わせは発生しない
さて大量のポイントをどうやって「既にget済みの」状態にするかだ

819:nobodyさん
08/03/14 11:18:47
ポインタじゃなくて、マーカーのことでした。

同じようなことしてる人のソースをパクれば規約違反にならないでしょうか?

820:nobodyさん
08/03/14 21:47:39
自己解決しました。

人のソースをパクりました。

821:nobodyさん
08/03/15 02:25:01
それで解決ならいいけど。

822:nobodyさん
08/03/15 06:52:42
やっぱりマーカーか。まぁそれなら規約には引っかからない。
ただ単に経緯度情報が欲しいがためにアクセスしまくるなって事だろ。
解決したならいいけど。

823:nobodyさん
08/03/16 15:55:50
Googleマップでキーワード検索したときにA,B,Cと建物や店が出てくるけど、
このデータはGoogle Maps APIでは取れないですよね?
どこから取ってるんでしょう?
GeoCoderのAPIでアドレス検索 > 経緯度取得 > hotpperなどで経緯度周囲の店
検索とかはできるんですが・・・

824:nobodyさん
08/03/16 15:57:21
ありゃGClientGeocoder#getLocations()でいいのかな・・・orz

825:nobodyさん
08/03/16 16:37:28
再度自己レス。もっとちゃんと調べろや!と怒られそう。
GlocalSearchっていうGoogle Ajax Searchの方のAPI使えば、
経緯度周囲の情報が取れるんですね。

826:nobodyさん
08/03/17 10:29:54
最近になってまた MAC + Safari 1.3.2 で GoogleMap(本家も駄目)を表示すると
ブラウザが落ちるようになったんですが、何か情報をお持ちの方いませんか?

参考:
textbox.jp :: 備忘録 :: MacOSX10.3のSafariでGoogleMapを表示すると落ちる件
URLリンク(www.textbox.jp)

827:nobodyさん
08/03/17 10:40:22
自己解決

日本語版のヘルプページが更新されていないのが問題とのこと
ソース ↓
URLリンク(groups.google.com)

英語版では

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.

とのことです。

828:826
08/03/17 11:31:50
追記
・GBrowserIsCompatibleで判定しても駄目
・そもそも Google マップ URLリンク(maps.google.co.jp) を開いても落ちる
ので、Googleの対応待ちかと。

829:nobodyさん
08/03/25 19:55:29 ePll5l2q
教えてください。
参考書を買って勉強中なのですが、
↓のソースに情報ウィンドウを追加させるにはどのようにしたらいいでしょうか?

URLリンク(www.openspc2.org)

830:829
08/03/25 19:57:10 ePll5l2q
URL間違えました。すみません・・・

URLリンク(www.openspc2.org)

831:nobodyさん
08/03/25 22:26:59
>>829
何がわからないかはっきり書けって。
丸投げか?

832:829
08/03/26 00:14:42 fPFMy6eV
>>831
言葉足らずで申し訳ありません。

やりたいこと:
>>830のソースを元とし、マーカーがクリックされたらcsvから読込まれた情報ウィンドウを表示したい

わからないこと:
GEvent.addListenerをどこに追加し、
csvのデータをmarker.openInfoWindowHtmlに渡す?その追加方法がわかりません.


833:829
08/03/26 00:17:10 fPFMy6eV
こんな感じだと思っているのですが、そこからがつまずいています。

function 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のデータ指定);
} );
}

834:nobodyさん
08/03/26 01:03:55
>>833
変数がいきなり変わってたりして意味不明やけど、

map.addOverlay(new GMarker(gpObj));
こうすると追加したマーカーに対してイベントを設定できない。

marker = new GMarker(gpObj));
中略
GEvent.addListener(marker, "click"~

合ってるかどうかは知らんけど、たぶんいける



835:829
08/03/26 19:03:16 +Zi/Ns8O
>>834
レスありがとうございます。

ご指摘いただいた箇所を修正しましたが、エラー表示が出てしまいました。
変更箇所が悪かったのでしょうか?

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
---------------------------------------

836:nobodyさん
08/03/26 20:34:17
素人が見てもカッコが1個多そうだけど

837:nobodyさん
08/03/27 12:23:57 x8Bfv0lr
Map上のコンビニとかファミレス情報は消せないのでしょうか?

838:nobodyさん
08/03/27 16:27:29
>>836
これが本当の「かっこつけすぎ」。

839:829
08/03/27 23:43:16 MqTPnQ18
報告
>>650の方が同じようなことをやっていましたので参考にしました。

現在は情報ウィンドウが表示されるようになりました。
ありがとうございます。

次なのですが、情報ウィンドウが表示できたのですがCSVから読込みさせる方法でつまづいています。
どのように指定すればいいのでしょうか?

840:829
08/03/27 23:45:01 MqTPnQ18
現在のソース

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(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の列番号を指定);
}});}}

841:829
08/03/27 23:47:05 MqTPnQ18
var gpObj = new GLatLng(mx, my);

var mz = pnt[3];
var gpOiw = new htmlElem(mz);

if (area.contains(gpObj)) {

↑こんな感じで足せばいいと思ったのですが考えが甘かったです・・・

842:nobodyさん
08/03/28 01:45:51
さすがにもうちょっと勉強しないと
教えるじゃなく、ソース全部書いてあげることになりそう

843:nobodyさん
08/03/29 12:10:58
もちろん書いてもらうつもりなんですが

844:nobodyさん
08/04/09 17:34:20
URLリンク(xoops.iko-ze.net)

このサイトを携帯から見た場合、地図の表示範囲内にあるマーカーの一覧が下に表示されます。
携帯向けなのでJAVAスクリプト未使用のはず。

JAVAスクリプトを使わずにこのような表示をするにはどうしたら良いのでしょうか。

845:nobodyさん
08/04/09 17:43:54
>>844
マーカーの場所はデータとして持っていて、
どの場所を地図上にマーキングするかをコントロールしているんだから
そのマーキングの名称やらをページ内に表示できることに何の不思議もないですよ。

846:nobodyさん
08/04/09 19:00:22
>>845
なるほど。

地図の範囲内にマーカー座標が含まれている

マーカー表示、およびマーカー情報を表示ということですよね。

その判別(絞込み)方法が知りたいのですが・・・

847:nobodyさん
08/04/09 21:05:39
>>846
いや、そもそも>>844の地図とか、何やっても一緒じゃない?
全然動的じゃないような…

848:nobodyさん
08/04/09 21:09:39
>>846
> 地図の範囲内にマーカー座標が含まれている
いや考え方が逆
地図の範囲内に含まれるポイントをマークする。
この違いは判りますよね?

849:nobodyさん
08/04/09 21:36:21
>>848
はい、それについては判ってます。


>地図の範囲内に含まれるポイントをマークする

この場合PHPで処理するなら次のような感じですよね。

if(地図の範囲内にポイントが存在) {
マーカーの情報をデータベースから取り出して表示
}

どうやって地図の範囲を調べてるのか、そのロジックがわからないんです。

850:nobodyさん
08/04/10 00:39:22
携帯で見れなかったから予想だけど、中心点の座標と縮尺さえわかれば、4辺の座標がわかるから、その範囲内の物をDBから引っ張るってことじゃなくて?

851:nobodyさん
08/04/10 02:43:56
>>849
> どうやって地図の範囲を調べてるのか、そのロジックがわからないんです。
API見てこいボケ!そのまんまあるわ

852:nobodyさん
08/04/10 04:41:32
>>851
探してみましたが見つかりませんでした。

Google Static Maps APIに関しては情報が少ないんで良く分からないんですよね。
とりあえずもうちょっと探してみます。

853:nobodyさん
08/04/10 12:14:03
GMarker をクリックしたときに任意のコードを実行させるにはどうしたらいいですか。
var gmarker = new GMarker(new GLatLng(37.4419, -122.1419));
gmarker.onclick = function() { alert('clicked.'); }
としたけどだめでした。
こんな簡単な質問でごめんなさい。

854:nobodyさん
08/04/10 22:47:34
>>844

そもそも gnaviはXOOPSのモジュールでおーぷんそーすだろ?。

ごたごたいうまえにソースDLしてみてみろよ

ソースDLできるじゃねぇか

855:nobodyさん
08/04/10 23:09:55

>>853

var gmarker = new GMarker(new GLatLng(37.4419, -122.1419));
GEvent.addListener(gmarker, "click", function() {
alert('clicked.');
});

でいけねーかな。
googlemapのイベントはリスナーでとるのよ

856:nobodyさん
08/04/11 05:18:50
>>854
まだ携帯版は公開されてないんです。

とりあえず>>850さんの案で、自力計算から求めてみることにしました。
色々とコメントありがとうございました。

857:nobodyさん
08/04/11 09:55:14
>>856
URLリンク(xoops.iko-ze.net)
これね

858:nobodyさん
08/04/11 12:06:33
自家実装だったとしても座標の計算でいける。
ぽすぐれなんかだと、2点の距離計算が組み込み関数として用意されてるしね。

859:nobodyさん
08/04/11 13:13:16
ぽすぐれてw
2点間の距離なんて関数なくても馬鹿でもわかるだろw

860:nobodyさん
08/04/11 19:50:30
半径〇○内の、という話じゃない?ポスグレ。

861:nobodyさん
08/04/17 02:31:01
しかし、いつになったら新名神高速道路表示されるんだろ。

862:nobodyさん
08/04/18 10:45:06

取得済みの「マップAPIキー」を無効にする方法はありますか?


863:nobodyさん
08/04/18 22:27:03
あります

864:nobodyさん
08/04/25 15:45:08 VjGTXO6P
APIキーが無くても表示出来るんでしょうか?

865:nobodyさん
08/04/25 20:40:24
NAVITIMEがSB端末への進出に積極的ですね。

ナビタイム、X02NK/X03HT向けの地図アプリ
URLリンク(k-tai.impress.co.jp)

ナビタイム、「920P」向けの助手席カーナビサービス
URLリンク(k-tai.impress.co.jp)

866:nobodyさん
08/04/25 20:41:44
>>865
スマソ GPS関連スレへのカキコと間違えた。

867:nobodyさん
08/05/03 13:37:27 VSvM8iEp
地図の右側にHTMLのエリアを被せて表示させているのですが、
アイコンをクリックするとふきだしがエリアの下に入ってしまいます。

URLリンク(www.uniqlo.com)

↑のサイトのようにマーカーをクリックしたときにふきだしを
特定の位置にずらしたいのですが、
どのようにしたらよいでしょうか。。

868:nobodyさん
08/05/04 12:11:01
このサイトのようにって…

やってるサイトがあるんならソース見ろよ

869:nobodyさん
08/05/04 12:25:28
>>867
ふきだしをずらす処理なんてしてるか?
吹き出しが画面に収まるように勝手に移動してるだけじゃないの?

870:nobodyさん
08/05/04 13:27:30
>>867
しかもふきだししたにはいってるんだが・・・

871:nobodyさん
08/05/04 15:45:50
PHP化まだ~~?
JavaScriptをPHPで出力すのは無しね

872:nobodyさん
08/05/04 19:02:42
>>871
なにをPHP化するのまってるんだっけ?

873:nobodyさん
08/05/06 22:37:57
PHP化???

874:nobodyさん
08/05/08 09:27:55
ここのことだろw
URLリンク(www.php.co.jp)


875:nobodyさん
08/05/08 10:53:02
クライアント側でPHPを実行するの?
phpscriptかw

876:nobodyさん
08/05/08 11:30:01
>>874
宣伝か?ハゲ

googlemapページを出力するPHPスクリプトなんてゴロゴロあるだろうが



877:nobodyさん
08/05/08 11:59:02
>>876
ボケに向かってハゲとは何だ!

878:nobodyさん
08/05/09 18:40:39
PHP環境ででgoogleMapを管理するCMSとか?

879:nobodyさん
08/05/09 22:23:31
クライアント実行のJavaスクリプトじゃ住所から緯度経度は取れても
そのMap表示は、再表示が必要なとこあたりか?


880:nobodyさん
08/05/09 22:37:00
>>879
それは再表示必要ないな
似たようなことで悩んだことあったが忘れた


881:nobodyさん
08/05/11 01:40:29 s1zwpcjq
Google Mapsのサーチボックスを自サイトに埋め込むことって出来ないよねェ?

882:nobodyさん
08/05/11 07:52:48
>>881
同じようなものなら可能

883:nobodyさん
08/05/11 11:37:06
>>882
えっ!何それェ?おしえてくだされ。

884:nobodyさん
08/05/11 16:29:20
最初からこういうものが作りたいんだけどって相談すればいいのに
なんでそんな気持ち悪い聞き方すんの?


885:nobodyさん
08/05/11 17:08:53
できないと思ってて、Googleの規約みたいのに反しちゃうんじゃないかって考えてたからだよ。
出来るワケねーだろ!って言われて終りかと思ってた。

886:nobodyさん
08/05/11 18:06:07
>>882
日本語でおk

887:nobodyさん
08/05/15 15:36:36
php化はともかくw、flash化はしてほしいよな

888:nobodyさん
08/05/15 20:37:19
って言ってるそばから対応キテタw

Google MapsをFlashから利用できる「Google Maps API for Flash」公開
URLリンク(internet.watch.impress.co.jp)


889:nobodyさん
08/05/20 09:50:40
Flash版よさげだな
URLリンク(geoquake.jp)

890:nobodyさん
08/05/21 13:40:16
マルチですまんが ここで聞いていいのかあれなのだが、
グーグルアースのプライマリデータってエクスポートできる方法ありますか?

891:nobodyさん
08/05/22 03:42:09
マルチはよくないです

892:nobodyさん
08/05/22 10:23:40
けっきょくどこでも答えられないからいいんじゃね?

893:nobodyさん
08/05/22 10:41:48
ありますん

894:nobodyさん
08/05/22 11:43:05
>>893
漏れも知りたい

895:nobodyさん
08/05/23 00:17:05 jcOM65/Q
ここ最近、GoogleMaps重くね?

896:nobodyさん
08/06/14 01:27:52
APIドキュメントの日本語版でたね

897:nobodyさん
08/06/14 18:24:00
>>146でもありますが、
ある一定以上の倍率にしたくない場合はどのような方法がありますでしょうか?

GEvent.addListener(map, 'zoomend', function(oldZoomLevel,newZoomLevel ){ });
を使えば、「一度倍率が変更された」後に強制的に倍率変更は出来そうですが、
そもそも変更させないことは可能でしょうか?

お知恵をお貸し下さいm(_ _)m

898:nobodyさん
08/06/18 19:59:25
php+mysqlでマーカー配置しようとしたら、xml吐かせた時にFFやSafariではうまくいったのに、
IEだと
XML ページを表示できません
スタイル シートを使用した XML 入力は表示できません。エラーを訂正してください。 [更新] ボタンをクリックするか、または後でやり直してください。
とエラーを吐かれてしまいます。

テストはいずれもWindowsXP内から、鯖は自鯖でMySQL 5.0.45+PHP 5.2.4です。
片一方ではうまくいってるのでなんともし難く、手前の腕では手詰まってしまいました。
何卒お力添えを。

899:nobodyさん
08/06/19 00:43:53 tlswNeC+
こんばんは。

マーカーをクリックするとふきだしが出るようにしています。
その際に、端っこのマーカーだと地図が少しずれて、
GEvent.addListener(map, 'moveend',~ が呼び出されてしまいます。
これを呼び出されないようにする方法もしくは、呼び出された後にふきだしが表示されていれば
何も処理しないということは出来ないでしょうか?


900:898
08/06/19 02:44:22
すんません、自己解決しました。
すんごい初歩ミス…orz

901:nobodyさん
08/06/19 10:11:02
>>899
ムリポ

結局は噴出しでムーブするのは事実だからね
呼び出されなくする方法はないので

フラグでもつけたらいいんじゃない?

902:nobodyさん
08/06/21 01:15:46
マーカークリックしてバルーン内にhtmlを表示させた時に表示が崩れる時があるのは仕様?
バルーン閉じてもう一回同じマーカークリックするとちゃんと表示されるんだけども。

903:nobodyさん
08/06/21 12:05:15
>>902

当て推量だけどimgタグを使っていてwidthとheightを指定していないってオチじゃないか?
画像を読み込む前はイメージのサイズがわからないのでレイアウトが崩れる。
一度読み込むとキャッシュに残っているのでサイズは既知。

仕様と言えば仕様だが。

904:nobodyさん
08/06/22 02:10:21
>>902
<IMG>タグを使って height 指定をしていない場合で画像の高さによってレイアウトが

905:nobodyさん
08/06/22 02:23:04
ミスった904の続き

<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";
})

配列でマーカー管理してるのならもうちょっと複雑になるが、
この方法では画像をロードしてからバルーンが出るのでレイアウトは崩れない。

画像が重いと開くまで一瞬時間がかかるけど。

マーカーが少ないなら全部プリロードしてしまうのも良いかもね

906:nobodyさん
08/06/22 02:24:24
あ、thisじゃとれんね。

GEvent.addListener( m , "click", function(){
var i =new Image();
i.onload=function(){m.openInfoWindowHtml("<img src='画像のURL'>");};
i.src="画像のURL";
})

907:902
08/06/22 11:24:36
>>903-906
丁寧にどうもです。
マーカーは20個以上あるので配列使って配置する中で単純に<IMG>タグのみで
作ってました。
HTML生成が先ということは、最悪<TABLE>タグを使ってheight指定してあげればレイアウトは保持されるということで合ってますかね?
画像は240*180でほぼ固定なのでこっちのほうが面倒は無いかなと思ったのですが。

プリロードの件、参考になりました。
今回は急を要した話だったので、今後もう少し知識付けてから参考にさせていただきます。
ありがとうございました。

908:nobodyさん
08/06/22 17:36:28
単純に image タグでいいんだが、何でtableタグを使おうとしているんでしょうか?
<img src="image01.jpg" width="240" height="180" alt="image01">

「保持されるという事で合ってますか」とか聞く前に試してみればいいと思うんだが?
レス書いた文字数より遥かに少ないキータッチで確認できるのに(w

あと、width属性が原因かどうかは誰にも分からんよ。元の質問が「崩れる時がある」なんて情報不足も甚だしい。
真面目なレスが来ただけで奇蹟と思わないと。
HTMLの知識より先に身につける事があるんじゃね?

909:nobodyさん
08/06/22 18:17:49
>>907
わざわざtableタグ使わなくても>>908のようにimgタグで十分だと思う
imgもheightやwidth指定できるし。
web上でタグとか独習してるのなら、すぐ手元で引けるHTML辞典とか買っておいた方がいいよ。
サンプルも掲載されてるからイメージ掴みやすいだろうし。

情報不足ってか、再現性が無いから崩れるときがあるって書き方したんじゃね?
そんな喧々しなくていいと思うけど。
…ただ複数のブラウザで試すとか、不具合でたブラウザくらいは書いてもいいと思ったけどな。


910:nobodyさん
08/06/23 10:04:53
srcがDBかなんかから引っ張るからwidth heightがとれないってことじゃないの?
大枠でブロックでスペース切っとくのもいいと思うけどな
ただ、tableだとブラウザによってはheight解釈しないからdivのほうがいいぞ

ちなみに908が馬鹿なこと言ってるけど
この現象はすでに報告されている


911:nobodyさん
08/06/24 00:18:26
>>910
バルーン表示時にwidth を指定していないとレイアウトが崩れるのは既知のトラブルですが、
「レイアウトが崩れた」原因が全て width, height 属性とは限らないのでは?

902 の質問は「表示が崩れる事がある」「リロードすると治る」としか書いてないので、width 属性以外の原因も想定するのは当たり前だと思うんだが。
「トラブルの原因は既知である」と信じ込むのは個人の自由だけどね。


912:nobodyさん
08/06/24 00:43:05
>>911
なんでそんなに必死なのかは知らないけど、
今回の内容については明らかだろw

913:nobodyさん
08/06/24 01:46:54
独り言だが、
Google Maps API は日夜バージョンアップされるので、最新バージョンで一時的に不具合が出るのはよくある。
古いバージョンのバルーンだと外側の角丸部とコンテンツの四角部に 1px の隙間が空いて表示される時期があった。
バルーン内の長文テキストに nowrap 属性を付けないとレイアウトが乱れるブラウザもあったと聞く。
「そのトラブル、俺知ってるぜ」と断定するより、色んな可能性を考えた方が楽しいよな。

914:nobodyさん
08/06/24 11:57:25
>>913
なんでそんなに必死なのかは知らないけど、
今回の内容については明らかだろww

915:nobodyさん
08/07/02 01:24:38
ジオコーディングによる住所検索をして、マップを
サブウィンドウに表示させるようにしてますが、
ジオコーディングのコールバック関数が呼ばれる前に
サブウィンドウを閉じられるとエラーとなってしまいます。
ジオコーディングをキャンセルする方法又は、ジオコーディング側の
例外をキャッチする方法はありませんでしょうか。
因みにGUnloadでは駄目でした。

916:nobodyさん
08/07/02 12:13:36
コールバック関数の中で
サブウィンドウの(サブウィンドウのなかのGMAP)の存在を
チェックすればエラーにはならんとおもうよ

エラーハンドルで済ませたいなら
try catch したらいいだけじゃないか

917:nobodyさん
08/07/04 09:38:47
最近 googlemap + IE7でエラーがでるようになりました。
また、FIREFOX3でも別のエラーが出ています。

情報が少なくて困っているのですが、何かいい方法はないでしょうか・・・


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch