Клуб API Карт

активные объекты в балуне, помогите разобраться

ya.companymir
25 октября 2013, 15:09

Здравствуйте, пользовался поиском но нужной темы не нашел, вопрос в том что есть сайт, под управлением 1с битрикс, к нему есть компонент яндекс карты и карта с метками объектов, пытаюсь сделать описание в балуне кликабельным, например рекламный щит, 2х сторонний, при нажатий на описание (например сторона Б) открывалась бы сторона б при нажатий на сторону А открывалось следующее изображение, к сожалению не силен в java, можно ли сделать подобное силами php?

5 комментариев
Подписаться на комментарии к посту

Подобное нельзя сделать силами java и php

а каким методом подобное осуществляеться? 

 

Надо смотреть как сделан этот компонент для Битрикс.

В случае если карта создается руками, без каких-либо компонентов, такое сделать несложно

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true) die();

 

 require_once __DIR__.'/readExchange.php';

$ar = readLoaded();

// mpr( $ar['description']  );

 

foreach ($ar['description'] as $key => $value) {

if( $_REQUEST["free_only"] == 'yes'  ) {

if( $value['Статус']['status'] < 1 ) {

$arResult['POSITION']['PLACEMARKS'][] = Array(

"LON"=> $value["ЯндексКоординаты"]["LON"],

"LAT"=> $value["ЯндексКоординаты"]["LAT"],

"TEXT"=> createText($value),

"HEAD"=> createHeader($value),

"icon"=> $templateFolder .'/images/'.$value["Вид"].'.png',

"collection"=> $value["Вид"]

);

}

} else {

$arResult['POSITION']['PLACEMARKS'][] = Array(

"LON"=> $value["ЯндексКоординаты"]["LON"],

"LAT"=> $value["ЯндексКоординаты"]["LAT"],

"TEXT"=> createText($value),

"HEAD"=> createHeader($value),

"icon"=> $templateFolder .'/images/'.$value["Вид"].'.png',

"collection"=> $value["Вид"]

);

}

}

if ($arParams['BX_EDITOR_RENDER_MODE'] == 'Y'):

?>

else:

 

$arTransParams = array(

'KEY' => $arParams['KEY'],

'INIT_MAP_TYPE' => $arParams['INIT_MAP_TYPE'],

'INIT_MAP_LON' => $arResult['POSITION']['yandex_lon'],

'INIT_MAP_LAT' => $arResult['POSITION']['yandex_lat'],

'INIT_MAP_SCALE' => $arResult['POSITION']['yandex_scale'],

'MAP_WIDTH' => $arParams['MAP_WIDTH'],

'MAP_HEIGHT' => $arParams['MAP_HEIGHT'],

'CONTROLS' => $arParams['CONTROLS'],

'OPTIONS' => $arParams['OPTIONS'],

'MAP_ID' => $arParams['MAP_ID'],

'LOCALE' => $arParams['LOCALE'],

'ONMAPREADY' => 'BX_SetPlacemarks_'.$arParams['MAP_ID'],

);

 

if ($arParams['DEV_MODE'] == 'Y')

{

$arTransParams['DEV_MODE'] = 'Y';

if ($arParams['WAIT_FOR_EVENT'])

$arTransParams['WAIT_FOR_EVENT'] = $arParams['WAIT_FOR_EVENT'];

}

?>

$val):?>

  &nbsp;

Показаны только свободные носители. Показать все

Показаны все носители. Показать только свободные

 

IncludeComponent('bitrix:map.yandex.system', '.default', $arTransParams, false, array('HIDE_ICONS' => 'Y'));?>

Ваш заказ:

 

Отправить заказ

Начиная с " type="text" id="ordStartTime"> 

по  " type="text" id="ordStopTime">

 

×

Подтверждение заказа

global $USER;

if( $USER->IsAuthorized() ) {

$name = $USER->GetFullName();

$userFields = $USER->GetByID( $USER->GetID() );

}

?>

Вы собираетесь сделать заказ на следующие позиции:

на срок с по

Ваши данные для заказа

Ваше имя *

Ваш телефон*

Ваш e-mail

Поля, помеченные * обязательны для заполнения.

Закрыть

Отправить

собственно вот весь код карты. я так понимаю все идет по запросам и скриптам. то есть не руками ее делали.. 

Да уж, выглядит отвратительно. я и раньше битриксом не пользовался и впредь не буду )))