我t
等于mapType
var t = 'mapType'
我想获得以下结果
mapTypeControlOptions: {
};
但是当我尝试t[ControlOptions]: {}
时,它会出现使用方括号的错误,有没有办法让它工作?
我的最终结果是
map.setOptions({
mapTypeControlOptions: {
position: google.maps.ControlPosition.TOP_LEFT
}
});
但我想动态构建它,以便mapType
和TOP_LEFT
根据变量而改变
答案 0 :(得分:1)
var myObject = {};
var t = 'mapType';
myObject[ t + 'ControlOptions' ] = {};
// after your edit: no you can call
// map.setOptions( myObject );
console.log( myObject );
// Object {mapTypeControlOptions: Object}
console.log( myObject[ 'mapTypeControlOptions' ] );
// Object {}
console.log( myObject[ t +'ControlOptions' ] );
// Object {}
答案 1 :(得分:1)
如果要构建这样的键名,传递给map.setOptions()的对象将需要单独创建。
E.g。我在下面创建了一个空对象“设置”,根据您选择的't'变量(mapType)修改它,然后通过map.setOptions()将其传递到Google地图:
var t = 'mapType';
var settings = {};
// Add to settings object using key prefix 't'
settings[t + 'ControlOptions'] = {
position: google.maps.ControlPosition.TOP_LEFT
};
// Pass into map
map.setOptions(settings);
答案 2 :(得分:-1)
var mapType = {};
mapType.ControlOptions: {
};