/** * Draws a Google map containing all frontend users of a website. * * @param array The content array. * @param array The conf array. * @return string HTML / Javascript representation of a Google map. */ function main($content, $conf) { $this->conf = $conf; $this->pi_setPiVarDefaults(); $this->pi_loadLL(); $this->init(); if (empty($this->conf['marker.']['title']) && empty($this->conf['marker.']['description'])) { $out = 'Please set the marker template. You can do this by including a static template or define it manually'; return $out; } $zoomLevel = (int) $this->conf['zoomLevel']; $mapName = $this->conf['mapName']; if (empty($mapName)) { $mapName = 'map-' . $this->cObj->data['uid']; } $this->mapName = $mapName; /* Create the Map object */ $this->map = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('tx_Listfeusers_Gmap', $this->mapName); $this->map->setSize($this->mapWidth, $this->mapHeight); $this->map->setZoom($this->zoomLevel); $this->initControls(); $this->groups = $this->getGroups(); $this->addMarkers(); $this->map->setCenter($this->centerLat, $this->centerLng); if ((bool) $this->autoCenter) { $this->map->autoCenter(); } if ((bool) $this->autoZoom) { $this->map->autoZoom($this->zoomLevel); } // run all the content pieces through TS to assemble them $output = $this->map->render(); $output .= $this->renderGroups(); //return print_r($content, true); return $this->pi_wrapInBaseClass($output); }