作者wctang (wctang)
看板Ajax
標題Re: [問題] google map 輪播的問題
時間Mon Nov 10 15:25:52 2008
※ 引述《dspswen (阿天)》之銘言:
沒有真正 trace,單純看 code 看一下可能的問題點
[deleted]
: geocoder.getLatLng(addr, function(point){
: map.setCenter(point, 16);
: var icon = new GIcon();
: icon.image = images[total];
: icon.iconSize = new GSize(60,60);
: icon.iconAnchor = new GPoint(24,16);
: icon.infoWindowAnchor = new GPoint(24,16);
: var mark = new GMarker(point,{icon:icon,title:siteDesc[total]});
: map.addOverlay(mark);
: marker.push(mark);
: setHandler(total,point,mark);
: total++;
以上用 total 可能不是你所要的,因為這裡 callback 可能不會按照你
呼叫的順序回傳,所以你要依回傳的哪一個地標來決定要顯示的資訊
至於怎麼知道是哪一個,那就要看你的資料,否則就依序等上一個回傳後
再呼叫問下一個了。
: ------------------------
: function move(cc){
: setTimeout("move("+((cc+1)%total)+")",6000);
: ^^^^^
這裡應該是要找下一個 "有回傳的" 地標,而不是單純找下一個地標
: //我是在這邊去 alert(total); 發現 total 都不一樣(i是都一樣),
: //所以這邊就有一點問題
: map.panTo(marker[cc].getLatLng());
: //google map API 語法,地圖會自動指向該點
: var myHtml = message[cc];
: map.openInfoWindowHtml(marker[cc].getLatLng(),myHtml);
: }
: ------------------------
: </script>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.125.148.101
1F:推 dspswen:先感謝回應 我再努力試看看要怎麼寫 11/10 17:00
2F:推 dspswen:其實total怎麼樣也可以不管 把下面move function拿掉也可 11/10 17:07
3F:→ dspswen:因為現在重點是在一開始出現的點就不對,所以輪播那塊不管 11/10 17:07