当点击处理程序添加到谷歌地图圆圈标记时,无法访问对象数据
Cannot access object data when click handler added to google maps circle marker
当点击圆圈时,我正试图向HTML元素添加一些文本(存储在谷歌地图圆圈对象中)。圆已经被推入一个数组中,但当我循环该数组以给每个圆一个点击处理程序时,圆对象显示为未定义。有人能告诉我我做错了什么吗?谢谢
var pickUps = {};
pickUps["wickRailway"] = {
center: new google.maps.LatLng(58.441801, -3.097043),
name: "Wick Railway Station",
};
pickUps["fergusRd"] = {
center: new google.maps.LatLng(58.443312, -3.095988),
name: "St Fergus Road",
};
var map = new GoogleMap();
map.initialize();
var pickUpCircle;
function GoogleMap() {
this.initialize = function() {
var map = showMap();
}
var showMap = function() {
var mapOptions = {
zoom: 16,
streetViewControl: false,
center: new google.maps.LatLng(58.441245, -3.094398),
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
var circlesArray = [];
for (var pickUp in pickUps) {
var pickUpOptions = {
strokeColor: '#FF0000',
strokeOpacity: 0.8,
strokeWeight: 2,
fillOpacity: 0,
clickable: true,
map: map,
center: pickUps[pickUp].center,
radius: 10,
pickUpName: pickUps[pickUp].name
};
pickUpCircle = new google.maps.Circle(pickUpOptions);
circlesArray.push(pickUpCircle);
}
for (var i = 0; i < circlesArray.length; i++) {
//circlesArray[i] works here
google.maps.event.addListener(circlesArray[i], 'click', function() {
//circlesArray[i] is undefined here
});
};
return map;
}
}
如果您执行以下操作而不是,它是否有效
for (var i = 0; i < circlesArray.length; i++) {
//circlesArray[i] works here
var circ = circlesArray[i];
google.maps.event.addListener(circ, 'click', function() {
//circlesArray[i] is undefined
//what is circ here?
});
};
相关文章:
- 在控制器和数据对象之间同步数据
- AngularJs指令,该指令创建内部有数据对象的新指令
- 从数据对象数组创建折线图
- Vue.js 数据对象不适用于某些 lodash 函数
- 无法获取带有 .data(el,'dataname').sublev 的数据对象
- React.js+Flux-正确初始化存储中的数据对象
- 如何调用另一个js文件中的函数或触发一个自定义事件,该事件将参数作为Jquery中的数据对象传递
- Meteor模板数据对象可防止javascript事件触发
- 我该如何访问由gullow灰质插件创建的数据对象(当使用nunjucks编译html文件时)
- 如何使用javascript数据对象?如何通过变量访问条目
- Knockout:为许多数据对象绑定模板引导模式
- 如何将数据对象添加到JSON对象中
- jQuery+php如何在数据对象中返回多个值
- $http put v create - 每个 (JavaScript) 中从 .success() 返回的数据对象有什
- 数据对象内的 D3 循环数组
- 在jQuery的.on()数据对象中访问$(this)
- AngularJS模态窗口数据/对象流
- 关于在 Vue.js 中设置数据对象属性的最佳实践
- 如何构建数据对象以在不知道多少时传递给 ajax
- 如何访问放置在谷歌地图上的geoJSON数据中的数据对象