GoogleMap开发疑问:marker在循环体中出错,急死人

问题描述

var locations=[['Name0',0.0,0.0,0],['Name1',1.0,1.0,0],['Name2',2.0,2.0,0],['Name3',3.0,3.0,0],['Name41',4.0,4.0,1],['Name55',5.0,5.0,0],['Name6',6.0,6.0,1],['Name7',7.0,7.0,0],['Name8',8.0,8.0,1],['Name9',9.0,9.0,1] ]; for (var i = 0; i < locations.length; i++) { var beach = locations[i]; var myLatLng = new google.maps.LatLng(beach[1], beach[2]); //alert(beach[1]+","+beach[2]); var marker = new google.maps.Marker({ position: myLatLng, map: map, icon: (beach[3]==0?image:image2), title:beach[0] });google.maps.event.addListener(marker, 'click', function() {alert(marker.getPosition());//点击任意一个overlay结果都是(9,9)。为何?? :twisted: }); }

解决方案

主要是使用了 js 闭包。导致的。改成这样试试google.maps.event.addListener(marker, 'click', function() {var m = arguments[0];return function() {alert(m.getPosition());}}.call(marker, marker));

时间: 2024-12-05 04:56:56

GoogleMap开发疑问:marker在循环体中出错,急死人的相关文章

javaee-在开发ssh框架的web应用beans.xml文件中出错,求大神解救

问题描述 在开发ssh框架的web应用beans.xml文件中出错,求大神解救 在开发ssh框架的web应用beans.xml文件中出错,求大神解救: 错误::Class 'org.apache.commons.dbcp.BasicDataSource' not found Class 'org.springframework.orm.hibernate3.LocalSessionFactoryBean' not found 1.以下是代码 xmlns:xsi="http://www.w3.or

app store-iOS开发提交app时出现证书出错的问题

问题描述 iOS开发提交app时出现证书出错的问题 项目已经要上线了,但是最后一步上传app的时候,xcode可以archive,但是打包ipa和 上传到app store的时候,一直提示证书遗失,我真的快疯了(ps:我自己创建的证书并不能导出p12文件,也就是说没有私人秘钥,但是我跟着流程创建的csr签名文件了,为什么还是不能生成p12文件呢),下面给图 解决方案 有没有人啊,好着急啊 解决方案二: 查看 钥匙串 中 登录->证书,查看发布证书是否正常,有没有可能是过期了,或被revoke掉了

Flash游戏开发系列一:游戏中的敌人(7)

第六篇:Flash游戏开发系列一:游戏中的敌人. 五.跟踪导弹(续完) 上次我们已经知道怎样让导弹的旋转看起来像那么回事,紧接着就是让导弹运动起来了. 导弹的一些属性,我们需要好好定义一下,这是完整的初始化函数: init = function () {enemy._x = 40;enemy._y = 350;enemy._rotation = 0;enemy_obj.MAXAngle = 6;enemy_obj.MAXSpeed = 4;enemy_obj.speedX = enemy_obj

Flash游戏开发系列一:游戏中的敌人(6)

第五篇:Flash游戏开发系列一:游戏中的敌人. 五.跟踪导弹(续) 前面讲过了如何让导弹朝向玩家,但是真正在应用的时候,不可能这么生硬的体现.大家可能也发现了,导弹的方向一直指向玩家,其实很不真实,那么如何才能更加真实一些呢.常用的方法有几种,我们这里介绍其中一种,其它的大家可能要去参考游戏开发图书了. 在这里,我们使用的方法是,导弹有一个最大转向角度,也就是说,如果转向达到这个角度,就不能再转了,这样,看起来就会真实一些,导弹也就不回一下子面对玩家,看看下面这个例子,我把导弹的最大转向角度设

Flash游戏开发系列一:游戏中的敌人(5)

第四篇:Flash游戏开发系列一:游戏中的敌人. 五.跟踪导弹 看看这个例子,在动画屏幕上按下鼠标,导弹就会跟踪玩家,直到击中玩家: 对于新手来说,一下子就实现它可能不太容易,我们来一点一点的做. (1)导弹的方向 我们先来实现导弹朝向玩家的功能,就像下面这个:(按下鼠标观看) 首先,我们注意到,敌人的导弹是要朝向玩家的,这和前面不同.前面的敌人是一个圆头圆脑的家伙,不用分辨它的方向.我们就先来看一下如何让敌人有方向感. 首先给新手讲解一下基本知识:用鼠标来触发动画. 我们先设定一个变量,布尔类

Flash游戏开发系列一:游戏中的敌人(4)

第三篇:Flash游戏开发系列一:游戏中的敌人. 四(插).半随机移动的敌人 看看这个例子: 我们可以看到,一个敌人按照一定的规律从上面到下面移动.主要的规律是自上而下,但是移动的范围是随机的.这种方法在早期的游戏里面经常使用,包括一些大型的游戏.其实这是一种非常简单的运动方式,但是如果使用得当,也很有威胁. 我们大概瞧一下原理: 敌人每次向一个方向以随机的速度走八步,然后再改变方向,再走八步.在这个例子里面,为了简单说明,敌人走到画面底部以后,我们会让它重新回到原来的位置,重新再走. 我们创建

Flash游戏开发系列一:游戏中的敌人(3)

第二篇:Flash游戏开发系列一:游戏中的敌人. 三.指定范围内的跟踪深化 再看看这个例子: 现在的敌人的视线范围比较真实了,它一直在四周查看,只有当你进入它的视觉范围的时候,敌人才会来追赶你. 这就是有指定范围的跟踪敌人,它的原理是和前面一样的: 如果(玩家进入敌人范围){ 如果(玩家x坐标 <> 敌人x坐标){调整敌人x坐标,趋近玩家x坐标}如果(玩家y坐标 <> 敌人y坐标){调整敌人y坐标,趋近玩家y坐标}} 我们可以在 enemy 里面放置一个扇形的范围,给一个实例名叫做

Flash游戏开发系列一:游戏中的敌人(2)

第一篇:Flash游戏开发系列一:游戏中的敌人 上一次,我们已经学习了最基本的敌人跟踪方法,这次,我们来限制一下敌人. 二.指定范围内的跟踪 首先看看这个例子: 现在的敌人周围有了一个范围,那么,只有当你进入这个范围的时候,敌人才会来追赶你. 这就是有指定范围的跟踪敌人,它的原理是: 如果(玩家进入敌人范围){  如果(玩家x坐标 <> 敌人x坐标){      调整敌人x坐标,趋近玩家x坐标  }  如果(玩家y坐标 <> 敌人y坐标){      调整敌人y坐标,趋近玩家y坐标

Solidworks二次开发—06—在装配体中添加配合

Solidworks二次开发-06-在装配体中添加配合     折腾了三天终于完成了计划中的功能模块.在一个装配体中自动判断插入合适的零件,并添加配合. 在前面几篇文章中我已经基本上说明了如何得到零部件的数据信息.如何插入零部件.如何得到已经选择的特征等. 下面只介绍怎样进行配合 在做配合时,需要经常选择到零件的面.线等,这是一个问题,还有就是介绍一下addmate2函数的使用: 一般进行配合我们按照下面的次序来进行:     1-ModelDoc.ClearSelection2  '取消所有选