Ajax 板


LINE

不好意思,又有一个问题,可能跟 Js 有关 自己参考网上许多范例做了一个轮播的程式 就是很一般地效果 在一开始照着阵列会有许多的点出现在 google map 上 这些点有设定不同的指标图、对话框内容文,然後会自动跑下一个轮播每一个阵列的点 我把地址那些放入资料库随机捞出来 问题是,一开始都正常 不过当我阵列摆超过 10 个点之後,有些点会出不来(有时後重读又出得来) 看原始码内容的阵列是完全正确,都有出现 也就是说捞资料库出来的所有资料都有放进程式码阵列里 但画面上的 google map 点却不见了,有时还会有一些点错乱掉 每次重读消失的点都不同,错乱的点都不同(因为我是随机捞资料库) 只有地址的部份会乱掉,譬如A点跑到B点,然後B点图不见,但A图跟A对话框内容是正确 我有设一个 i 去跑 addresses 阵列内所有资料(给google map的地址) alert 出来确认没错,20 笔资料就是 20 (显示19) 但後来又设一个 total 是自动用 Js 跑 google map 自动轮播的数字 这个数字就会乱掉,照理说要跟 i 一样才是,不过有时 10 有时 20 有时 11 12 ... 由於 Js 基础不是很好,不知道是不是哪边概念错误,请高手指教 下面程式码会说明 <script type="text/javascript"> var map; var marker = new Array(0); var total = 0; var cc = 0; var addresses = ['','','','',''.... // (N个地址) var images = (对应的指标图) var siteDesc = (滑鼠移到指标上出现的字) var message = (click点选指标出现对话框内的内容) ---------------------------这没什麽问题,只是点一下指标会出现对应对话框内容 function setHandler(i,point,mark){ GEvent.addListener(mark,"click", function() { var myHtml = message[i]; map.openInfoWindowHtml(point, myHtml); }); } --------------------------- function load() { if (GBrowserIsCompatible()) { map = new GMap2(document.getElementById("map")); map.addControl(new GSmallMapControl()); map.addControl(new GMapTypeControl()); map.enableScrollWheelZoom(); var geocoder = new GClientGeocoder(); for(var i in addresses){ ------------------------------------------------- addr = addresses[i]; -------------------------------------------------这里i正确,数字正确 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 是 global 属性,一开始设 0 i 最後是多少 total 应该也就会是多少 ? 可是最後传出去时,发现 total 每次重读数字都不一样 -------------------------- } -----------------------启动轮播 setTimeout("move(0)",1000); ----------------------- } } ------------------------ 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> 如有问题我再补充 谢谢 -- ▍ ▍ ╯╰ ╯╰ ◢◣ ◢◣ 我最爱的 柏柏龙~ 柏柏龙~ ◢██◣ ╮╭ ▎▎╮╭ ▎▎ 柏柏龙~ 柏柏龙~ ⊙ ⊙ ⊙ ⊙ 人人心中都有柏柏龙~ ≡ ▼ ≡ ▲▲ ● ● ≡ ▼ ≡ ■ ■ ■ ■ 愤怒就永远不会消失~ ⊙⊙ ≡皿 ≡ 炸是最美的拥有~ ^ ^^ ^^^◥ ▍▍▍▍▍▍ ψdiabloq13 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.207.2.26
1F:推 pp0322:有测试网址吗XD 11/10 12:12
2F:推 wctang:在Timeout执行move时,getLatLng回传的个数不一定如你预期 11/10 12:39
3F:→ wctang:所以 total 才会每次执行都不同 11/10 12:40
4F:→ wctang:也就是,要考虑到geocoder.getLatLng是非同步的动作 11/10 12:44
5F:→ dspswen:那请问这个该怎麽解决 @@ 11/10 13:08
6F:→ dspswen:To 1F : http://supergm.net/dsps/maps/test.php 11/10 13:11
7F:→ dspswen:每次重读都会发现有些图不见 或乱跑 不过程式码应该对 11/10 13:11
8F:推 alpe:觉得 setHandler 可能有问题. 11/10 22:14







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP