2

所以我对javascript和谷歌地图API有点陌生。目前,我可以在给定一个名为 codeAddress 的硬编码地址变量的情况下放置一个标记。

codeAddress("99362");

function codeAddress(address) {
    geocoder.geocode({
        'address': address
    }, function (results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            map.setCenter(results[0].geometry.location);
            var marker = new google.maps.Marker({
                map: map,
                position: results[0].geometry.location
            });

        } else {
            alert("Geocode was not successful for the following reason: " + status);
        }
    });
}

问题是我需要能够根据位置放置多个标记,并且需要能够解析来自 CSV 文件或 sql 数据库的地址数据。

谢谢您的帮助。

4

1 回答 1

0

我使用jquery-csv 插件来处理 csv 文件。

如果您可以详细说明此 csv 文件的来源以及加载方式,我可以提供有关如何将其转换为 javascript 数组的信息。该文件是否已经在服务器上?如果是这样,那么做一些服务器端处理来读取文件会更有意义。

下面显示了如何修改代码以使用包含多个地址的数组:

var addresses = ["99362", "01010", "12345"];

jQuery.each(addresses, function(index, address) { 
    geocoder.geocode({
        'address': address
    }, function (results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            // we only need to center the map the first time
            if (index == 0)
                map.setCenter(results[0].geometry.location);
            var marker = new google.maps.Marker({
                map: map,
                position: results[0].geometry.location
            });
        } else {
            alert("Geocode was not successful for the following reason: " + status);
        }
    });
})
于 2012-10-23T03:11:27.317 回答