1
我需要將地理編碼反轉爲數千個緯度/經度座標的列表。我可以做到這一點座標沒有問題,但是當涉及到很多時,它一次只能做5個座標。我需要弄清楚如何在一步和循環中做到這一點,所以它不會被谷歌拒絕。批量地理編碼
我被告知別處我需要使用回調函數,但我不確定如何執行此操作。
下面是一些演示代碼
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<script type="text/javascript" src="js/jquery-1.7.2.min.js" ></script>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var geocoder = new google.maps.Geocoder();
var c = [];
c[0]="43.5878,-79.6777";
c[1]="49.2828,-123.1414";
c[2]="49.2895,-123.127";
c[3]="49.2784,-123.1364";
c[4]="49.0327,-122.2529";
c[5]="49.2696,-123.0587";
c[6]="49.269,-122.9954";
c[7]="49.235,-122.882";
c[8]="49.1908,-122.7508";
c[9]="49.085,-122.4111";
var a = [];
function codeLatLng(input, i) {
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) {
a[i] = results[0].formatted_address;
$("#test").append(a[i] + "<br />");
});
}
function showmethemoney(){
for (var i=0; i <= c.length - 1; i++) {
$("#test").append(i + ") " + c[i] + "<br/>");
codeLatLng(c[i], i);
};
}
</script>
</head>
<body>
<div id="test"></div>
<br />
<button onclick="showmethemoney();">Show me the money!</button>
</body>
我需要我的結果與他們的座標是內聯。
任何幫助將不勝感激!
謝謝。
編輯:
獲取得遠一點:
var geocoder = new google.maps.Geocoder();
var c = [];
c[0]="43.5878,-79.6777";
c[1]="49.2828,-123.1414";
c[2]="49.2895,-123.127";
c[3]="49.2784,-123.1364";
c[4]="49.0327,-122.2529";
c[5]="49.2696,-123.0587";
c[6]="49.269,-122.9954";
c[7]="49.235,-122.882";
c[8]="49.1908,-122.7508";
c[9]="49.085,-122.4111";
var a = [];
function codeLatLng(input, i) {
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) {
//$("#test").append(results[0].formatted_address + "<br />");
a[i] = results[0].formatted_address;
$("#test").append(a[i] + "<br />");
});
}
var i = 0;
function showmethemoney(start, end) {
for (i = start; i <= c.length - 1 && i < end; i++) {
$("#test").append(i + ") " + c[i] + " - ");
codeLatLng(c[i], i);
}
if(i >= c.length - 1){
return;
}
setTimeout(function(){
showmethemoney(i, i+1);
}, 1500);
}
</script>
</head>
<body>
<div id="test"></div>
<br />
<button onclick="showmethemoney(0, 1);">Show me the money!</button>
</body>
謝謝,這是一個開始!我已經通過了列表,但它停在8/10。我會將最新的代碼發佈到最初的問題。 – FunkyMonk91