Клуб API Карт

вывод карты через jQuery

drac0Sha
2 ноября 2011, 15:16

вопрос проблема в АПИ или в плохом знании jQuery )

 

Здравствуйте ) столкнулся с такой проблемой )

  1.  
  2. <script type="text/javascript">
  3. $(document).ready(function(){          
  4.     $("a[rel^='prettyPhoto']").prettyPhoto({
  5.         show_title: false,
  6.         deeplinking: false,
  7.         social_tools: '',
  8.         gallery_markup: '',
  9.         custom_markup: '<div id="YMapsID" style="width:604px; height:509px"></div>',
  10.         changepicturecallback: function(){ initialize()}
  11.     });
  12. });
  13. function initialize() {
  14.  var loc;
  15.  loc="Москва, Земляной вал, 50";
  16.         YMaps.jQuery(function() {
  17.             // Создание экземпляра карты и его привязка к созданному контейнеру
  18.             map = new YMaps.Map(document.getElementById("YMapsID"));
  19.             // Установка для карты ее центра и масштаба
  20.             map.setCenter(new YMaps.GeoPoint(37.6455.76)10);
  21. // Добавление элементов управления
  22.             map.addControl(new YMaps.Zoom());
  23.             map.enableScrollZoom();
  24.             // Создание метки 
  25.            var geocoder = new YMaps.Geocoder(loc);
  26.             YMaps.Events.observe(geocoder, geocoder.Events.Loadfunction (geocoder) {
  27.              var geoCoords = geocoder.get(0).getGeoPoint(),
  28.          geoPlacemark = new YMaps.Placemark(geoCoords);
  29.          map.addOverlay(geoPlacemark);
  30.             })
  31.             // Установка содержимого значка метки
  32.             placemark.setIconContent('Щелкни меня');
  33.             // Добавление метки на карту
  34.             placemark.name = "Имя метки"// Заголовок балуна
  35.             placemark.description = "Описание метки"// Текст балуна
  36.             map.addOverlay(placemark);
  37.         });
  38. }
  39. </script>
  40.  


  1.  
  2. <p><a href="#?custom=true&width=604&height=509" rel="prettyPhoto" title="где !">Москва, Земляной вал,50</a></p>
  3.  


но не понимаю почему, при вызове...открывает окошко, и в нём пусто, а когда нажимаю вне окошка, чтобы закрыть, на некоторое время (меньше секунды) появляется вызванный скрипт. В чём косяк, помогите )

 

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

как минимум не надо оборачивать создание карты в 

YMaps.jQuery(function() {

у вас карта инициализируется уже после 

$(document).ready(function(){


спасибо за ответ ) но не могли бы вы объяснить

вы предлагаете убрать!?

  YMaps.jQuery(function()

убрал ) и самое интересное ничего не изменилось  )

 

или вы про строчку 

map = new YMaps.Map(document.getElementById("YMapsID"));

 

убирал document не работает

 

очень надеюсь на вашу помощь ) а то я совсем новичок !

нужна ссылка на страницу

уберите YMaps.jQuery(function(){ + закрываюшии скобки от нее

сразу после var loc; допишите alert('it works!');

и напишите что либо внутрь дива карты.

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

сделал всё как вы сказали

всё тоже самое, кроме как выходит диалоговое окно с надписью ит воркс )

давайте всеже посмотрим на пациента поближе - можно ссылку или полный код страницы в архиве?

http://depositfiles.com/files/d992djz3f

вот здесь архив ) !

со всей страницей ! )

Эх, есть же народный диск :(

давай те перезалью ) как вам удобнее )

вот здесь веду опрос со стороны jQuery

http://www.linkexchanger.su/forum/viewtopic.php?f=4&t=1574

но что-т не особо продвигается )

А никакого секрета нет.

Во первых -

  1. // Установка содержимого значка метки
  2.             placemark.setIconContent('Щелкни меня');

placemark - не определен.

Далее я взял ваши исходники, спросил у яндекса про преттиФото. Взял скрипт из первой ссылки.

Версия по ней не поддерживала никаких фенек и ничего не работало вообще.

Тогда взял js с оф сайта http://nmfe.co/demos/prettyphoto_image_map/js/jquery.prettyPhoto.js

Блок раскрывался, но карты не было.

Тогда я по тому же адресу взял еще и css.

После чего все начало работать.

Вы точно актуальную версию используете?

я заменил библиотеку на новую, ничего всё равно )

 

а placemark тогда пока что лучше удалить!? )

 

и могли бы скинуть где вы взяли css

 

потому что мне кажется что проблема именно в нём )

заменял сейчас prettyPhoto.css
и мне кажется проблема именно в нём
Но!
подскажите пожалуйста, в чём именно там может быть проблема
пробовал
заменить
display:none, на position:absolute; left:-10000px;
однако
толком не знаю где менять
заменил везде...
и в итоге карты вообще не видно )

коды брал напрямую из офф примера

http://nmfe.co/demos/prettyphoto_image_map/

спасибо )) забыл сказать )

Спасибо! Целый день потратил на то чтобы карту в лайтбокс засунуть, эта ветка помогла.