|
|
|
| 03.06.2010 16:39 |
|
Меняем карты Google на Яндекс.Карты для SOBI2 Для системы управления сайтом Joomla существует компонент бизнес-каталога SOBI2, в котором для показа И так в начале, Вы должны скачать компонент и установить его на своем сайте, если он не был установлен.
Для использования карт Google в праметрах отображения компонента SOBI2 существует вкладка Google Maps. В режиме администрирования системы нужно выбрать компонент Sigsiu Online Business Index 2 На открывшейся странице в левой колонке выбрать ссылку Параметры (), а затем Параметры отображения (). На странице выбрать вкладку Google Maps. Мы увидим форму следующего содержания (если у Вас компонент русифицирован):
Здесь в принципе все понятно без пояснений. Единственное, что для использования Яндекс.Карт необходимо в поле API ключ ввести соответственно ключ к API Яндекс.Карт для вашего домена. И поменять местами поля для хранения значений широты и долготы карты. Тип поля – Скрытое. Первое значение – долгота (Longitude) поле filds_latmap и второе – широта (Latitude) поле filds_lonmap. Если Вы хотите поменять текстовое описание в форме, то это можно сделав отредактировав следующие файлы:
Нужно поиском найти текст, который необходимо заменить и ввести новый. Теперь переходим к главному этапу. В папке установки вашего сайта находим каталог по адресу /components/com_sobi2/includes/ нужно найти файл entry.functions.php. Его мы будем изменять. Открываем его для редактирования. Находим в нем функцию showGoogleMaps, самая последняя в файле. Она отвечает за вывод карты при просмотре полного описания информации о компании, если введены координаты центра в соответствующие поля (filds_latmap и filds_lonmap). И заменяем весь код в функции между строчками function showGoogleMaps($mySobi, $config) { и } function waySearchUrl( $waySearchLink ) На новый код: if( !$config->useGoogleMaps || !isset( $config->googleMapsApiKey ) ) { return null; } $map_url = "http://api-maps.yandex.ru"; $map_api_version = "1.0"; $title = $config->jsAddSlashes( $mySobi->title ); $GeoPos = $config->getGeoPosition( $mySobi->id ); if( $GeoPos['lat'] && $GeoPos['long'] && is_numeric( $GeoPos['lat'] ) && is_numeric( $GeoPos['lat'] ) ) { ?> <script src="/gold/<?php echo $map_url?>/<?php echo $map_api_version?>/?key=<?php echo $config->googleMapsApiKey ?>" type="text/javascript"></script> <script type="text/javascript"> //<![CDATA[ window.onload = function init () { var map = new YMaps.Map(document.getElementById("YMapsID")); map.setCenter(new YMaps.GeoPoint(<?php echo $GeoPos['lat']; ?>, <?php echo $GeoPos['long']; ?>), <?php echo $config->googleMapsZoom; ?>); var placemark=new YMaps.Placemark(new YMaps.GeoPoint(<?php echo $GeoPos['lat']; ?>, <?php echo $GeoPos['long']; ?>)); map.addOverlay(placemark); placemark.openBalloon('<div style="text-align:center; width: 200px; "><strong><?php echo $title; ?></strong></div>'); map.addControl(new YMaps.SmallZoom()); }; //]]> </script> <div style="width: <?php echo $config->googleMapsWidth; ?>px; height: <?php echo $config->googleMapsHeight; ?>px;" id="YMapsID"></div> <?php } elseif ( ( strlen( trim($GeoPos['lat'] ) ) && strlen( trim( $GeoPos['long'] ) ) ) && !is_numeric( $GeoPos['lat'] ) || !is_numeric( $GeoPos['lat'] ) ) { trigger_error("HTML_SOBI::showGoogleMaps(): Given cooordinates ({$GeoPos['lat']}, {$GeoPos['long']}) are not correct. Please enter float values"); } } Оригинал статьи: http://webmap-blog.ru/?tag=sobi2 |






Комментарии
скачал на сайте оригинала статьи
RSS лента комментариев этой записи