1. Уважаемые пользователи, прежде чем ответить в теме или создать новую,
    внимательно ознакомьтесь с правилами раздела

    Кому лень работать или руки не оттуда - пользуйтесь услугами специалистов
  2. Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.."

    Есть JED!!! Ищите там!!!

Как связать Mosets Tree и Яндекс Карты

Тема в разделе "Joomla", создана пользователем SIMaks, 12 май 2010.

Информация :
  • Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с правилами раздела
  • Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.." Есть JED!!! Ищите там!!!
  • Аналоги ищите там же - на JED!!!
  • Новая версия? - У кого будет - тот выложит!
Статус темы:
Закрыта.
Модераторы: arman29, DMS, NightHunter
  1. SIMaks

    SIMaks Создатель

    Регистр.:
    14 фев 2008
    Сообщения:
    40
    Симпатии:
    3
    сабж.

    Может кто-нибудь сталкивался с этим? Подскажите как сделать? Возможно решение в файле Savant2_Plugin_ahrefmap.php
     
  2. Slycrew

    Slycrew Создатель

    Регистр.:
    21 ноя 2008
    Сообщения:
    12
    Симпатии:
    1
    можно по конкретнее?
     
  3. SIMaks

    SIMaks Создатель

    Регистр.:
    14 фев 2008
    Сообщения:
    40
    Симпатии:
    3
    Вот код этого файлика
    <?php
    defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );

    //Base plugin class.
    global $mosConfig_absolute_path;
    require_once $mosConfig_absolute_path.'/components/com_mtree/Savant2/Plugin.php';

    class Savant2_Plugin_ahrefmap extends Savant2_Plugin {

    /**
    *
    * Output an HTML <a href="">...</a> link that point to MapQuest or Yahoo! Maps
    *
    * @param object $link Reference to link object.
    *
    * @return string The <a href="">...</a> tag.
    *
    */

    function plugin( &$link, $attr=null, $show_arrow=1 )
    {
    global $_MT_LANG, $mtconf;
    //, $mt_map, $mt_show_map;

    # Load Parameters
    $params =& new mosParameters( $link->attribs );
    $params->def( 'show_map', $mtconf->get('show_map') );
    $params->def( 'map', $mtconf->get('map') );
    $html = '';

    if ( $params->get( 'show_map' ) == 1 ) {

    if ( $show_arrow == 1 ) {
    // $html = '<img src="images/M_images/indent1.png" width="9" height="9" />';
    } else {
    $html = '';
    }
    switch($params->get('map')) {

    # Map Quest
    case 'mapquest':
    $html .= '<a href=" http://www.mapquest.com/maps/map.adp?';
    $html .= 'address='.urlencode($link->address);
    $html .= '&city='.urlencode($link->city);
    $html .= '&state='.urlencode($link->state);
    $html .= '&zip='.urlencode($link->zip);
    $html .= '&country='.urlencode($link->country);
    $html .= '"';
    break;

    # Yahoo Maps
    case 'yahoomaps':
    $html .= '<a href="http://us.rd.yahoo.com/maps/us/insert/Tmap/extmap/*-http://maps.yahoo.com/maps_result?';
    $html .= 'addr='.urlencode($link->address);
    $html .= '&csz='.urlencode($link->city).','.urlencode($link->state).'+'.urlencode($link->postcode);
    $html .= '&country='.urlencode($link->country).'"';
    break;

    # Google Maps
    default:
    $html .= '<a href="http://';
    switch(substr($params->get('map'),11,2)) {
    #Canada
    case 'ca':
    $html .= 'maps.google.ca/maps?';
    break;
    case 'cn':
    $html .= 'ditu.google.com/maps?';
    break;
    case 'fr':
    $html .= 'maps.google.fr/maps?';
    break;
    case 'de':
    $html .= 'maps.google.de/maps?';
    break;
    case 'it':
    $html .= 'maps.google.it/maps?';
    break;
    case 'jp':
    $html .= 'maps.google.co.jp/maps?';
    break;
    case 'es':
    $html .= 'maps.google.es/maps?';
    break;
    case 'uk':
    $html .= 'maps.google.co.uk/maps?';
    break;
    default:
    $html .= 'maps.google.com/maps?';
    break;
    }
    $html .= 'q=' . urlencode($link->address);
    $html .= '+' . urlencode($link->city) . '+' . urlencode($link->state) . '+' . urlencode($link->postcode);
    $html .= '"';
    break;
    }


    # Insert attributes
    if (is_array($attr)) {
    // from array
    foreach ($attr as $key => $val) {
    $key = htmlspecialchars($key);
    $val = htmlspecialchars($val);
    $html .= " $key=\"$val\"";
    }
    } elseif (! is_null($attr)) {
    // from scalar
    $html .= " $attr";
    }

    $html .= ' target="_blank">'.$_MT_LANG->MAP ."</a>";

    # Return the map link
    return $html;
    }

    }

    }
    ?>

    Требуется чтоб при открытии страницы с информацией об организации показывалось местоположение её на карте. Данные должны браться из строк город и адрес.
     
  4. ajexlf2008

    ajexlf2008 Создатель

    Регистр.:
    14 апр 2010
    Сообщения:
    34
    Симпатии:
    3
    Тебе сюда - http://clubs.ya.ru/mapsapi/posts.xml?mint=1254340800&maxt=1257022799&ncrnd=2373
    Но зачем мудрить? Регистрируешься на Яндекс.Вебмастер, открываешь API, настраиваешь свою карту (город,адрес,надписи,маршрут и .....), получаешь код.
    Просто вставь код в нужное место на странице.Код можешь отредактировать руками.
     
  5. SIMaks

    SIMaks Создатель

    Регистр.:
    14 фев 2008
    Сообщения:
    40
    Симпатии:
    3
    Там я был. Ответ так и не найден. Твой вариант не подходит т.к. нужно чтоб на автомате, причем это, я думаю, не так сложно сделать ведь есть все нужные поля (город, адрес) нужно только все это как-то связать вместе. Я не программер... увы..
     
  6. ajexlf2008

    ajexlf2008 Создатель

    Регистр.:
    14 апр 2010
    Сообщения:
    34
    Симпатии:
    3
  7. SIMaks

    SIMaks Создатель

    Регистр.:
    14 фев 2008
    Сообщения:
    40
    Симпатии:
    3
    Мучался несколько часов, но так и не смог ничего сделать!:( В этом примере http://www.virtuosomaster.com/tutorials/mosets-tree-google-map-integration/ все просто, но яндекс не дает сделать ссылку таким образом, можно только с помощью геокодера получить xml http://geocode-maps.yandex.ru/1.x/?geocode=город Москва, Тверская улица, дом 18, корпус 1&key=API-ключ, а как вывести на карту это все я не знаю.
     
  8. anz

    anz Level XXL

    Регистр.:
    17 окт 2006
    Сообщения:
    936
    Симпатии:
    304
    вот это точно подойдет очень легко интегрируется
    срипт для работы с картами, http://www.nulled.ws/showthread.php?t=178640
     
Статус темы:
Закрыта.