0
私は店舗の配列を持っています。住所やその他のものが格納されています。複数のHTTPリクエストを実行する - クラウドコードを解析する
今、私はこの配列を反復し、lat/lng座標をジオコードしてデータベースに保存します。
以下のコードでは、同じ店舗の2倍または3倍のエントリを取得しています。私はここのスコープで何かを逃していますか?
ありがとうございます!
var promises = [];
data.forEach(function (element, index)
{
var addressString = element.plz + " " + element.stadt + "," + element.adresse;
var url = encodeURI("https://maps.googleapis.com/maps/api/geocode/json?address=" +
addressString);
var promise = Parse.Cloud.httpRequest({
method: "GET",
url:url
}).then(function (http) //SUCCESS
{
var geocodedObject = new Parse.Object("GeocodedStores");
geocodedObject.set("storeID", element.id);
geocodedObject.set("Latitude", http.data.results[0].geometry.location.lat);
geocodedObject.set("Longitude", http.data.results[0].geometry.location.lng);
return geocodedObject.save(null, {
useMasterKey: true
});
},
function (http, error)
{
response.error(error);
});
promises.push(promise);
});
return Parse.Promise.when(promises);