Új hozzászólás Aktív témák

  • Alex123

    senior tag

    Itt a kódrészlet:

    $now = $config->getTimeAndDate();
    $query = "SELECT `title`, `icon`, `itemid` FROM `#__sobi2_item` WHERE (`itemid` IN ($sItems) AND `published` = 1 AND `publish_down` > '{$now}' OR `publish_down` = '{$config->nullDate}')";
    $database->setQuery($query);
    $itemsResArr = $database->loadObjectList();
    $sobiItems = array();
    if(!(empty($itemsResArr))) {
    foreach ($itemsResArr as $itemArr) {
    $sobiItem = new stdClass();
    $sobiItem->id = $itemArr->itemid;
    $sobiItem->title = $itemArr->title;
    $sobiItem->icon = $itemArr->icon;
    $sobiItem->latitude = null;
    $sobiItem->longitude = null;
    if(isset($data[$sobiItem->id]['latitude'])) {
    $sobiItem->latitude = $data[$sobiItem->id]['latitude'];
    }
    if(isset($data[$sobiItem->id]['longitude'])) {
    $sobiItem->longitude = $data[$sobiItem->id]['longitude'];
    }
    if($sobiItem->latitude && $sobiItem->longitude) {
    if(is_numeric($sobiItem->longitude) && is_numeric($sobiItem->latitude)) {
    $sobiItems[] = $sobiItem;
    }
    }
    unset($sobiItem);
    }
    }
    else {
    return null;
    }
    if(empty($sobiItems)) {
    return null;
    }
    echo "\n ";
    echo "<!-- Start module -->";
    echo "\n ";
    echo "<div class=\"sobi2gcat{$class}\">";
    echo "\n\t ";
    echo "<script src=\"{$baseAddresse}/maps?file=api&amp;v=2&amp;key={$config->googleMapsApiKey}\" type=\"text/javascript\"></script>";
    echo "\n\t <script type=\"text/javascript\">";
    echo "\n\t ";
    echo "//<![CDATA[ ";
    echo "\n\t\t ";
    echo "function loadSobiCatOverMap() {";
    echo "\n\t\t\t ";
    echo "if (GBrowserIsCompatible()) {";
    echo "\n\t\t\t\t ";
    echo "var SobiCatOverMap = new GMap2(document.getElementById(\"sobi2GcatOver\"));";
    echo "\n\t\t\t\t ";
    echo "SobiCatOverMap.setCenter(new GLatLng({$centerPointLat}, {$centerPointLong}), {$mapsZoom});";
    if($mapControl) {
    echo "\n\t\t\t\t ";
    if($mapControl == 1) {
    echo "SobiCatOverMap.addControl(new GSmallMapControl());";

    }
    else {
    echo "SobiCatOverMap.addControl(new GLargeMapControl());";
    }
    }
    if($mapTypeControl) {
    echo "\n\t\t\t\t ";
    echo "SobiCatOverMap.addControl(new GMapTypeControl());";
    }
    if($overviewMapControl) {
    echo "\n\t\t\t\t ";
    echo "SobiCatOverMap.addControl(new GOverviewMapControl());";
    }
    if($doubleClickZoom) {
    echo "\n\t\t\t\t ";
    echo "SobiCatOverMap.enableDoubleClickZoom();";
    }
    echo "\n\t\t\t\t ";
    switch ($mapTypeOnStart) {
    case 'G_SATELLITE_MAP':
    echo "SobiCatOverMap.setMapType(G_SATELLITE_MAP);";
    break;

    case 'G_HYBRID_MAP':
    echo "SobiCatOverMap.setMapType(G_HYBRID_MAP);";
    break;

    case 'G_NORMAL_MAP':
    default:
    echo "SobiCatOverMap.setMapType(G_NORMAL_MAP);";
    break;
    }
    foreach ($sobiItems as $sobiItem) {
    $href = "index.php?option=com_sobi2&amp;sobi2Task=sobi2Details&amp;catid={$catId}&amp;sobi2Id={$sobiItem->id}&amp;Itemid={$config->sobi2Itemid}";
    $href = sefRelToAbs($href);
    $title = str_replace("\\\\", "\\",$sobiItem->title);
    $title = str_replace("\\\\", "\\",$title);
    $ico = str_replace("\\\\", "\\",$sobiItem->icon);
    echo "\n\t\t\t\t ";
    echo "SobiCatOverMap.addOverlay(createSobiMarker(new GLatLng({$sobiItem->latitude},{$sobiItem->longitude}), '{$href}', '{$title}', '{$ico}'));";
    }
    echo "\n\t\t\t ";
    echo "} ";
    echo "\n\t\t ";
    echo "} ";
    echo "\n\t\t ";
    echo "function createSobiMarker(point, url, title, ico) {";
    echo "\n\t\t\t ";
    echo "var marker = new GMarker(point);";
    echo "\n\t\t\t ";
    echo "GEvent.addListener(marker, 'click', function() {";
    echo "\n\t\t\t\t ";
    echo "var href = new String(url);";
    echo "\n\t\t\t\t ";
    echo "href.replace('/\/\\\','');";
    echo "\n\t\t\t\t ";
    echo "marker.openInfoWindowHtml('<div class=\"sobiCatOverBubble\"><a href=\"'+href+'\">'+title+'</a><br /><a href=\"'+href+'\"><img src=\"images/com_sobi2/clients/'+ico+'\"></a></div>');";
    echo "\n\t\t\t ";
    echo "});";
    echo "\n\t\t\t ";
    echo "return marker;";

    És itt az adatbázis tábla:

    --
    -- Tábla szerkezet: `jos_contact_details`
    --

    CREATE TABLE `jos_contact_details` (
    `id` int(11) NOT NULL auto_increment,
    `name` varchar(100) NOT NULL default '',
    `con_position` varchar(50) default NULL,
    `address` text,
    `suburb` varchar(50) default NULL,
    `state` varchar(20) default NULL,
    `country` varchar(50) default NULL,
    `postcode` varchar(10) default NULL,
    `telephone` varchar(25) default NULL,
    `fax` varchar(25) default NULL,
    `misc` mediumtext,
    `image` varchar(100) default NULL,
    `imagepos` varchar(20) default NULL,
    `email_to` varchar(100) default NULL,
    `default_con` tinyint(1) unsigned NOT NULL default '0',
    `published` tinyint(1) unsigned NOT NULL default '0',
    `checked_out` int(11) unsigned NOT NULL default '0',
    `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00',
    `ordering` int(11) NOT NULL default '0',
    `params` text NOT NULL,
    `user_id` int(11) NOT NULL default '0',
    `catid` int(11) NOT NULL default '0',
    `access` tinyint(3) unsigned NOT NULL default '0',
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;

    Ebből kellene valahogyan a címet (country, postcode, address...) belevarázsolni...

    - Alex -

Új hozzászólás Aktív témák