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