@Override protected void doHeaders(RenderRequest request, RenderResponse response) { super.doHeaders(request, response); String namespace = response.getNamespace(); String loadMapsCallback = namespace + "loadMaps"; String loadMapsCallbackBody = MessageFormat.format(LOAD_MAPS_JS_FUNCTION_BODY, namespace); DojoPortletHelper.contributeScript(response, "JavaScript", "text/javascript", null, loadMapsCallbackBody, null, null); String apiKey = request.getPreferences().getValue("APIKey", ""); String googleMapsSourceUrl = "http://www.google.com/jsapi?key=" + apiKey + "&callback=" + loadMapsCallback; DojoPortletHelper.contributeScript(response, "JavaScript", "text/javascript", googleMapsSourceUrl, null, null, null); DojoPortletHelper.contributeDojoRequire(response, "dojo.lang.*"); DojoPortletHelper.contributeDojoRequire(response, "dojo.event.*"); DojoPortletHelper.contributeDojoRequire(response, "dojo.io.*"); DojoPortletHelper.contributeDojoRequire(response, "dojo.widget.*"); DojoPortletHelper.contributeDojoRequire(response, "dojo.widget.Button"); }