Google Maps API 質問箱at PHPGoogle Maps API 質問箱 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト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. グローバル変数にカウンタを持たせる。読み込み後、同一ファンクションを通過させて 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch