Var Map, CachedGeoJson;
var promise = that.map.data.loadGeoJson('https://api.myjson.com/bins/31e3j');
promise.then(function(data) {
cachedGeoJson = data;
map.data.addGeoJson(
'https://api.myjson.com/bins/31e3j',
{ idPropertyName: "id"}
);
你需要关闭你的函数,像这样修复语法:
Var Map, CachedGeoJson;
var promise = that.map.data.loadGeoJson('https://api.myjson.com/bins/31e3j');
promise.then(function(data) {
cachedGeoJson = data;
map.data.addGeoJson(
'https://api.myjson.com/bins/31e3j',
{ idPropertyName: "id"}
);
});
您可以尝试创建一个不同的函数来创建 promise 对象,因为 google loadGeoJson
不会返回 promise 对象。
function loadGeoJson(url, options) {
var promise = new Promise(function (resolve, reject) {
try {
that.map.data.loadGeoJson(url, options, function (features) {
resolve(features);
});
} catch (e) {
reject(e);
}
});
return promise;
}
var promise = loadGeoJson('studs.json');
promise.then(function (features) {
map.data.addGeoJson(
'https://api.myjson.com/bins/31e3j',
{ idPropertyName: "id"}
);
});
你可以检查承诺中存在哪些属性。
for (var property in promise) {
if (promise.hasOwnProperty(property)){
alert(property);
}
}