【发布时间】:2014-03-26 16:55:04
【问题描述】:
我有一个运行良好的 jquery ajax 方法,它填充谷歌地图 latlngs 的数组 (points[]),然后对其进行迭代以在地图上绘制它们。我还填充了第二个数组 (details[]) 以获取我在生成标记时也使用的链接。
这是 Jquery 的一部分 ajax 代码
success: function (data) {
for (var i = 0; i < data.length; i++) {
var latlng = new google.maps.LatLng(data[i].lat, data[i].long);
points.push(latlng);
details.push(data[i].PageLink);
}
addMarkers();
}
然后我通过遍历点数组中的所有项目来创建标记:
for (var i = 0; i < points.length; i++) {
var marker = new MarkerWithLabel({
map: map,
position: points[i],
icon: icon,
url: details[i],
labelAnchor: new google.maps.Point(12, -5),
labelClass: "labels"
});
我想将 points[] 制作成一个多维数组,这样我就可以在其中包含 LAT/LNG 以及更多信息,例如链接,也许还有标题。理想情况下,我希望将所有这些都放入这个数组中,但语法对我不起作用。
我尝试过以下变体:
points[0].push(latlng);
points[1].push(data[i].PageLink);
但是当尝试将这些值分配给标记时,我做错了,大概是在我的语法中,因为我无法从数组中取回任何值。在如何填充数组方面,我是否正确?如果是,我该如何取回该数据?
【问题讨论】:
-
具有 lat、long 和其他属性的对象呢?
-
好吧,我想我需要 latlng 是 google.maps.LatLng 对象,否则清除地图点的方法不起作用。但是,假设这是错误的,我该怎么做呢?
-
行得通!可爱,我以前从未真正使用过 Javascript 对象。谢谢
标签: jquery google-maps multidimensional-array