使用csv文件从地址获取纬度和经度

时间:2018-07-26 18:14:39

标签: javascript php jquery csv latitude-longitude

在读取CSV文件期间如何获取地址的经度/纬度?从csv读取地址,并将所有经纬度写入csv文件。

<?php
function readCSV($csvFile){
 $file_handle = fopen($csvFile, 'r');
while (!feof($file_handle) ) {
    $line_of_text[] = fgetcsv($file_handle, 1024);
}
fclose($file_handle);
return $line_of_text;
}
$csvFile = 'list1.csv';

$csv = readCSV($csvFile);
?>
<script>
$(document).ready(function() {
var address = <?php echo json_encode($csv); ?>;
var value1 = '';
var csv_data=[];
$.each(address , function(index, val) {
jQuery.ajax({
type: "GET",
dataType: "json",
url: "http://maps.googleapis.com/maps/api/geocode/json",
data: {'address': val[1],'sensor':false},
success: function(data){
    if(data.results.length){
    document.write(val[1]+"==Latitude:"+data.results[0].geometry.location.lat 
   +'==');

document.write("Longitude:"+data.results[0].geometry.location.lng+'<br>');
csv_data.push({"address":val[1],"Latitude":data.results[0].geometry.location.lat,"Longitude":data.results[0].geometry.location.lng});
    }
}
});

});

var csv_data1 = JSON.stringify(csv_data);

$.ajax({  
type: 'POST',  
url: 'res.php', 
data: csv_data1,
success: function(response) {
    console.log(response);
}
});
});
</script>

我有400000个地址可用,需要获取所有的经度和纬度,  有免费的API吗?

1 个答案:

答案 0 :(得分:0)

SmartyStreets的API可以接收地址的csv文件,并为您提供有关地址的各种信息,包括纬度和经度。您可以找到相关的文档here

SmartyStreets可让您免费试用其服务(每月最多250次查找)。对于您的地址数量,您自然需要购买更多查询。我不知道有什么完全免费的API可让您处理40万个地址。

您可以使用方便的website plugin以及SmartyStreets JavaScript SDK(我帮助写过)。披露:我是SmartyStreets的软件开发人员。