4

我对编程很陌生,所以我有点害怕发帖。但是两天来我一直在做一些对你们大多数人来说可能很简单的事情,我想我会在这里尝试......

我正在尝试在 Google Maps API 中创建标记。

如果我将数据硬编码到 javascript 中,就像这样,它就像一个魅力。

var locations = [
['1 Bedroom House', 55.1111, -100.1111, 1, 'This house has 1 bedroom.'],
['2 Bedroom House', 56.1111, -100.1111, 2, 'This house has 2 bedrooms.'],
['3 Bedroom House', 57.1111, -100.1111, 3, 'This house has 3 bedrooms.'],
['4 Bedroom House', 58.1111, -100.1111, 4, 'This house has 4 bedrooms.']
];

我有一个 JSON 请求,需要从那里获取标记数据。

在你说之前,我确定我已经离开这里了......但这就是我得到的:

var locations = new Array();

$.getJSON("[URL]", function(json) {
        for(var i = 0; i < json.houses.length; i++) {
            var name = json.houses[i].house.name;
            var markerlat = json.houses[i].house.lat;
            var markerlng = json.houses[i].house.lng;
            var description = json.houses[i].house.description;

locations[i] = new Array();
locations[i].push('\'' + name + '\', ' + markerlat + ', ' + markerlng + ', ' + i + ', ' + '\'' + description + '\'');

}
});

谢谢!

4

1 回答 1

0

通过查看您的代码的那部分,我想知道是否可以在没有单独的位置数组的情况下解决它。

如果您使用以下代码在 $.getJSON 函数的成功处理程序中扩展for循环,它是否可以工作:

new google.maps.Marker({
    position: new google.maps.LatLng(markerlat, markerlng),
    title: name,
    map: [id of the map canvas element]
    });

如果您希望描述也可用,则必须将侦听器附加到触发信息窗口的标记。可以从Google Maps API 文档站点找到有关信息窗口叠加层及其用法的更多详细信息。

于 2012-05-13T21:16:36.073 回答