/** * @override */ function PreRender($args = array()) { $id = $this->id; $this->_basicOptions['center'] = '[jscode]' . $this->_basicOptions['center']; $this->_basicOptions['mapTypeId'] = '[jscode]' . $this->_basicOptions['mapTypeId']; if ($this->AutoShowHints) { $this->_basicOptions['autoShowHints'] = true; } $init = array("wdf.gmap.init('{$id}'," . system_to_json($this->_basicOptions) . ");"); foreach ($this->_markers as $m) { list($lat, $lng, $opt) = $m; $init[] = "wdf.gmap.addMarker('{$id}',{$lat},{$lng}," . json_encode($opt) . ");"; } foreach ($this->_addresses as $a) { if (is_array($a)) { $init[] = "wdf.gmap.addAddress('{$id}'," . json_encode($a['address']) . "," . json_encode($a['title']) . ");"; } else { $init[] = "wdf.gmap.addAddress('{$id}'," . json_encode($a) . ");"; } } $init[] = "wdf.gmap.showAllMarkers('{$id}');"; $this->_addLoadCallback('maps', $init); return parent::PreRender($args); }
protected function _loadPackage($package) { if (isset(self::$_apis['visualization'])) { if (!in_array($package, self::$_apis['visualization'][1]['packages'])) { self::$_apis['visualization'][1]['packages'][] = $package; } } else { parent::_loadApi('visualization', '1.1', array('packages' => array($package))); } }