Javascript哈希表问题
javascript hash tables problem
我试图通过迭代列表和检索一些信息来添加标记到谷歌地图。我正在使用原型库。代码如下:
var point = new Array();
var myMarkerOptions = new Array();
var marker = new Array();
recommendedList.each(function(item){
point[item.location.ID] = new google.maps.LatLng(item.location.lat, item.location.lng);
myMarkerOptions[item.location.ID] = {
position: point[item.location.ID],
map: map
};
marker[item.location.ID] = new google.maps.Marker(myMarkerOption[item.location.ID]);
});
,其中推荐人列表是JSON响应的形式:
[
{"artist":"artist1","location":{"lat":"50.952226","lng":"5.34832","ID":28}},
{"artist":"artist2","location":{"lat":"52.362287","lng":"4.883965","ID":32}},
...
]
然而,这不起作用。我知道问题不是关于JSON或谷歌地图,因为我尝试了一个更简单的版本与以下代码,它工作:
var myLatlng = new google.maps.LatLng(recommendedList[0].location.lat,recommendedList[0].location.lng);
var marker = new google.maps.Marker({
position: myLatlng,
map: map
});
所以问题一定出在迭代和哈希映射上。有人看到问题了吗?谢谢!
很简单,不需要。each
for (var i=0, item; item = recommendedList[i]; i++) {
point[item.location.ID] = new google.maps.LatLng(item.location.lat, item.location.lng);
myMarkerOptions[item.location.ID] = {
position: point[item.location.ID],
map: map
};
marker[item.location.ID] = new google.maps.Marker(myMarkerOption[item.location.ID]);
}
你也可以大大简化它,除非你"需要"那些其他数组:
for (var i=0, item; item = recommendedList[i]; i++) {
marker[item.location.ID] = new google.maps.Marker({
new google.maps.LatLng(item.location.lat, item.location.lng),
map
});
}
我认为它可能是你正在使用的数组访问器。在处理完point
, myMarkerOptions
和marker
数组之后你会怎么做呢?
你可以试着将它们声明为
吗?var point = {};
var myMarkerOptions = {};
var marker = {};
这将允许您将它们称为point[item.location.ID]
(等)。我认为item.ID
属性是一个数字,JS试图设置数组的数字索引,而不是在你的哈希中创建一个新的属性。
Prototype each迭代器不支持JSON或对象数据类型
相关文章:
- 如何在JavaScript中实现哈希表
- 用JavaScript中的循环传递哈希表/字典
- 将 Javascript 哈希表用于多个 If Thens
- 用于跟踪购物车可用性的Javascript数组/对象/哈希表
- 使用 JavaScript 中的对象的哈希表功能
- 用于 C# 的类似 V8 的哈希表
- 如何在 JavaScript 中动态创建哈希表
- 如何使用 Node.JS 在哈希表中为每个键存储多个值
- 如何在 JavaScript 中实现哈希表
- 在引擎盖下,是Javascript对象哈希表
- 如何在java脚本中打印此哈希表数据
- 如何将 Python 字典转换为 JavaScript 哈希表
- 你如何观察 Knockout 中的 JavaScript 哈希表
- 已解决查询(关于哈希表)中的解决方案给了我 NaN
- 哈希表-给定密钥的哈希计算频率
- 与哈希表相比,通过循环访问数组中对象的Javascript优化
- 数组哈希表上的循环
- 访问哈希表中的元素
- 带有键/值的Javascript测试哈希表
- Javascript哈希表问题