私はExcelから緯度と経度のリストを繰り返し処理しています。これは問題なく機能します。ループ内で呼び出したときに、codeLatLng関数が番地を返すようにします。
コメントされたコードは、codeLatLng()内で実行しようとしていたものです。私は毎秒グーグルに10回の呼び出ししかできないことを知っています、これを行うためにループをどのように設定しますか?
ありがとう!
function codeLatLng(input) {
var latlngStr = input.split(",", 2);
var lat = parseFloat(latlngStr[0]);
var lng = parseFloat(latlngStr[1]);
var latlng = new google.maps.LatLng(lat, lng);
geocoder.geocode({
'latLng' : latlng
}, function(results, status) {
document.getElementById("test").innerHTML = results[0].formatted_address + "<br />";
//return results[0].formatted_address;
});
}
function initialize() {
geocoder = new google.maps.Geocoder();
}
function showmethemoney(){
var lat, lng, latlng, loc;
var Excel = new ActiveXObject("Excel.Application");
Excel.Visible = false;
Excel.Workbooks.Open($("#file").val());
Excel.Active
//Excel.ActiveSheet.UsedRange.Rows.Count
$("#test").append("<b> " + Excel.ActiveSheet.UsedRange.Rows.Count + " rows in file</b><br/>");
//10 for testing purposes. I will be going through the entire document
for (var i=1; i <= 10; i++) {
lat = Excel.ActiveSheet.Cells(i,17).Value;
lng = Excel.ActiveSheet.Cells(i,18).Value;
latlng = lat + "," + lng;
//loc = codeLatLng(latlng);
$("#test").append(i + ") " + latlng + " " + loc + "<br/>");
};
Excel.Quit();
}