Клуб API Карт

Не отображается карта во всплывающем окне

vladim-filip
21 мая 2015, 20:11

Здравствуйте! У меня на сайте test.gcardrus.net при нажатии на логотип какой-нибудь компании всплывает окно с информацией о ней. В том числе там должна быть и карта с меткой адреса.

Информация о компании строится в подгружаемом через jquery.load() файле.

Вот код построения карты (пишу на всякий случай):

 

<div id="about_company_map" class="about_company_map">

</div>

 

<script>

ymaps.ready(function() {

var myMap = new ymaps.Map('about_company_map', {

zoom: 16,

controls: ['zoomControl'],

behaviors: ['default', 'dblClickZoom']

        });

<? if (empty($rds[0]['geo_coords']) {?>

ymaps.geocode('<? echo $rds[0]['address'] ?>', {

results: 1 // Если нужен только один результат, экономим трафик пользователей

}).then(function (res) {

            // Выбираем первый результат геокодирования.

            var firstGeoObject = res.geoObjects.get(0);

            // Координаты геообъекта.

coords = firstGeoObject.geometry.getCoordinates();

 

var point = new ymaps.GeoPoint(coords);

myMap.setCenter(point);

 

MyIconContentLayout = ymaps.templateLayoutFactory.createClass(

'<div style="color: #000000; font-size:10px; padding-left:2px; padding-bottom:2px;">{{ properties.geoObjects.length }}</div>');

var myPlacemark = new ymaps.Placemark(coords, 

{balloonContentBody: '<div class="logo_baloon"><img class="" src="/images/company/163/small/mini.jpg" alt="" /></div>',

clusterCaption: 'метка <strong></strong>'

},

{ iconLayout: 'default#image', 

 iconImageHref: '/images/new_design_2015/icons/na_karte_h40.png',

 iconImageSize: [27, 40],

 iconImageOffset: [-20, -62]

}

);

 

myMap.geoObjects.add(myPlacemark);

 

});

<? } else { ?>

myMap.setCenter(<?=$rds[0]['geo_coords']; ?>);

MyIconContentLayout = ymaps.templateLayoutFactory.createClass(

'<div style="color: #000000; font-size:10px; padding-left:2px; padding-bottom:2px;">{{ properties.geoObjects.length }}</div>');

var myPlacemark = new ymaps.Placemark([<?=$rds[0]['geo_coords']; ?>], 

{balloonContentBody: '<div class="logo_baloon"><img class="" src="/images/company/163/small/mini.jpg" alt="" /></div>',

clusterCaption: 'метка <strong></strong>'

},

{ iconLayout: 'default#image', 

 iconImageHref: '/images/new_design_2015/icons/na_karte_h40.png',

 iconImageSize: [27, 40],

 iconImageOffset: [-20, -62]

}

);

 

myMap.geoObjects.add(myPlacemark);

<? }?>

});

</script>

 

  

$rds[0]['geo_coords'] - это берётся из базы данных.

И ещё у меня выдаёт ошибку:

"NetworkError: 500 Internal Server Error - http://test.gcardrus.net/actions/get_company_data.php"

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

Зачем постить серверный код? У нас все равно нет вашей базы данных.

Нужна ссылка на конечную страницу

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

И я в первом сообщении написал, где вызывается карта

1. Карту нельзя создавать без центра.

2. myMap.setCenter(); - это возможно тоже неправильно, но надо смотреть, что будет напечатано в итоге.

 

Я пэхапэ не знаю, и честно говоря знать не хочу, в большей степени потому, что его используют вот таким образом, печатая конструкции другого языка, даже не понимая что они означают. Уже миллион раз везде было сказано, что так делать не надо. Сервер должен передавать на клиент данные, а не плеваться кусками клиентского кода.

 

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