Правильна ли трактовка кода?
Всё несколько проще. Вместо "ассоциативный массив" всегда говорите "объект"./* Глобальная переменная - лучший друг быдлокодера */
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' }
			]
		}];
} // Закрывающую скобку кто ставить будет, я что ли?
Терминология хромает.
>инициируем функцию "initialize()"
инициируем -> объявляем
и т.д...
Зачем это?