Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Info окно поверх карты

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Google Map API
pantela
Отправлено: 22 Июля, 2014 - 00:44:15
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 765
Дата рег-ции: Авг. 2010  


Помог: 1 раз(а)




Используется Google Map API, где вывожу, полигоны, маркеры, кластеризации...

Проблемма втом что при нажатии на маркер, появляется инфо окно, и там не возможно выделить текст, т.к. событие срабатывает на карте...
Ссылка проекта: http://goo[dot]gl/d3CVJ0

Код отвечающий за вывод маркеров.
CODE (javascript):
скопировать код в буфер обмена
  1. // Markers - Begine
  2. function addMarker(id,icon,pos) {
  3.         var marker = new google.maps.Marker({
  4.                 position: pos,
  5.                 animation: google.maps.Animation.DROP,
  6.                 icon: icon
  7.         });
  8.         google.maps.event.addListener(marker,'click',function(){
  9.                 map.panToWithOffset(this.getPosition(),100,-100);
  10.                 $.ajax({
  11.                         url: 'ajax/getObjectInfo',
  12.                         type: 'POST',
  13.                         data: {id: id},
  14.                         success: function(data){
  15.                                 markerData = $.parseJSON(data);
  16.                                 var images = '';
  17.                                 var imagespath = '/uploaded/object/photo/' + id + '/small/';
  18.                                 if (markerData.files !== undefined) {
  19.                                         for (var k = 0; k < markerData.files.small.length; k++) {
  20.                                                 images += '<img src="' + imagespath + markerData.files.small[k] + '">';
  21.                                                 if (k == 1) break;
  22.                                         }
  23.                                 }
  24.                                
  25.                                 var w_content = '<div class="info-window" id="ib">\
  26.                                 <div class="title-s">'+markerData.price+' '+markerData.valuta_pref+'</div>\
  27.                                 <div class="feature-area">\
  28.                                         <ul class="info-feature-list">\
  29.                                                 <li>Area: '+markerData.area+'</li>\
  30.                                                 <li>Rooms: '+markerData.count_rooms+'</li>\
  31.                                                 <li>Bedrooms: '+markerData.count_bedrooms+'</li>\
  32.                                                 <li>Floor: '+markerData.floor+' ('+markerData.floor_count+')</li>\
  33.                                                 <li>Repair: '+markerData.repair_type_key+'</li>\
  34.                                                 <li>Project: '+markerData.project_key+'</li>\
  35.                                         </ul>\
  36.                                         <button class="button moreinfo" data-id="' + id + '" style="margin-top:10px;"><i class="butoni icon-info-sign"></i> More Details</button>\
  37.                                 </div>\
  38.                                 <img alt="" src="assets/map_files/images/clip.png" class="clip-image">';
  39.  
  40.                                 var images = '';
  41.                                 var imagespath = '/uploaded/object/photo/' + id + '/small/';
  42.                                 if (markerData.files !== undefined) {
  43.                                         for (var k = 1; k <= markerData.files.small.length; k++) {
  44.                                                 switch (markerData.deal_type_key) {
  45.                                                         case '1'://For Sale
  46.                                                                 var class_text_deal_type = "important";
  47.                                                                 var text_deal_type = "For Sale";
  48.                                                                 break;
  49.                                                         case '2'://For Rent
  50.                                                                 var class_text_deal_type = "info";
  51.                                                                 var text_deal_type = "For Rent";
  52.                                                                 break;
  53.                                                         case '3'://For Mortgage
  54.                                                                 var class_text_deal_type = "warning";
  55.                                                                 var text_deal_type = "For Mortgage";
  56.                                                                 break
  57.                                                 }
  58.                                                 images += '<div class="photo-frame'+k+'-s">\
  59.                                                                                 <div class="labelplace1">\
  60.                                                                                         <span class="label label-'+class_text_deal_type+'">'+text_deal_type+'</span>\
  61.                                                                                 </div>\
  62.                                                                                 <img class="photo-s" src="'+ imagespath + markerData.files.small[k-1] +'">\
  63.                                                                         </div>';
  64.                                                 if (k == 2) break;
  65.                                         }
  66.                                 }
  67.                                 w_content += images + '</div>';
  68.                                
  69.                                 if (infowindow) {
  70.                                         infowindow.close();
  71.                                 };
  72.                                 infowindow = new InfoBox({
  73.                                         content: w_content,
  74.                                         disableAutoPan: true,
  75.                                         maxWidth: 400,
  76.                                         pixelOffset: new google.maps.Size(-230, -296),
  77.                                         closeBoxMargin: "-8px 0px 2px 2px",
  78.                                         closeBoxURL: "assets/map_files/images/close.png",
  79.                                         boxStyle: {
  80.                                                 opacity: 1,
  81.                                                 width: "400px"
  82.                                         },
  83.                                         infoBoxClearance: new google.maps.Size(400, 400),
  84.                                         isHidden: false,
  85.                                         MapPanes: "floatPane",
  86.                                         enableEventPropagation: true,
  87.                                         position: pos
  88.                                 });
  89.                                 infowindow.open(map,marker);
  90.                         }
  91.                 });
  92.         });
  93.         return marker;
  94. }
  95. // Markers - End


спс.Ув.

P.S. Пробовал zindex вроде не помогло, enableEventPropagation: true, тоже не вариант, т.к. у меня стоит событие на полигонах... Растерялся

(Отредактировано автором: 22 Июля, 2014 - 00:45:52)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB