Всё несколько проще. Вместо "ассоциативный массив" всегда говорите "объект".
/* Глобальная переменная - лучший друг быдлокодера */
var map;
/* Создадим с помощью конструктора новый объект */
var brooklyn = new google.maps.LatLng(40.6743890, -73.9455);
/* Так обычно объявляют константы (до ECMA 2015 нормального синтаксиса не было) */
var MY_MAPTYPE_ID = 'Purple';
// Обычно такую телегу записывают так (шаблон One-var template, привет, Pascal!):
var map,
brooklyn = new google.maps.LatLng(40.6743890, -73.9455),
MY_MAPTYPE_ID = 'Purple';
/* Декларируем функцию */
function initialize() {
/* Создаём массив объектов */
var featureOpts = [
{ // Раз
stylers: [ //И сразу вложенный объект с полем-массивом объектов
{ hue: '#6b20a1' },
{ visibility: 'simplified' },
{ gamma: 0.5 },
{ weight: 0.5 }
]
}, { // Два
elementType: 'labels',
stylers: [ // Вложенный массив
{ visibility: 'on' }
]
}, { // Три
featureType: 'water',
stylers: [
{ color: '#6b20a1' }
]
}];
} // Закрывающую скобку кто ставить будет, я что ли?