Recommended Posts

Доброго времени суток Участникам!

Кто то возможно уже пробовал реализовать панораму карт в карточке объекта?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
20 минут назад, Александр Лубянский сказал:

Доброго времени суток Участникам!

Кто то возможно уже пробовал реализовать панораму карт в карточке объекта?

да, было дело https://bn.ua/arenda-3-kvartira-kiev-svyatoshinskiy-akademgorodok-rahmaninova-ul-2424/

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, metrpro сказал:

Тоже делал metrpro.ru

Зачетно!

Я так у вас уже прижился!))) А это как то проморгал))))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, Александр Лубянский сказал:

Зачетно!

Я так у вас уже прижился!))) А это как то проморгал))))

Я не афишировал эту наработку

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, metrpro сказал:

Я не афишировал эту наработку

Я и на сайте не заметил)

Так бы уже за наводкой отписал))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, Александр Лубянский сказал:

Я и на сайте не заметил)

Так бы уже за наводкой отписал))

Так в чем проблема? Гугл в помощь. К тому же там так все подробно расписано.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
5 часов назад, rumantic сказал:

Гугловские ставить сложно. А яндексовские чтобы включить, нужно сначала обновить api на свежий, который это поддерживает, вроде 2.2. 

Но я человек простой и в этих апи не разбираюсь, честно говоря, хотя здесь и была гдето тема про это, там Костя разъяснение давал

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, ReatEstate сказал:

Я так понимаю, панорама это 3д тур?

 

Ну по сути панорама конкретного объекта на карте 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для гугля

1. Блок под панку

<div id="panoview" style="width:100%;height:300px;"></div>

2. Коры для точки панорамы

{if $data.geo.value.lat!='' && $data.geo.value.lng!=''}
<script>
	var pobj_lat={$data.geo.value.lat};
	var pobj_lng={$data.geo.value.lng};
</script>
{else}
<script>
	var pobj_lat='';
	var pobj_lng='';
</script>
{/if}

3. Скрипт запуска панорамки

{literal}
<script>
  
/*объект-обработчик*/
var PanoRunner={};
PanoRunner.panorama=null;
PanoRunner.initialize=function(pobj_lat, pobj_lng) {
	var panoposition = {lat: pobj_lat, lng: pobj_lng};
    var sv = new google.maps.StreetViewService();
    PanoRunner.panorama = new google.maps.StreetViewPanorama(document.getElementById('panoview'));
	sv.getPanorama({location: panoposition, radius: 50}, PanoRunner.processSVData);
};

PanoRunner.processSVData=function(data, status){
	if(status === google.maps.StreetViewStatus.OK){
		PanoRunner.panorama.setPano(data.location.pano);
		PanoRunner.panorama.setPov({
			heading: 270,
			pitch: 0
		});
		PanoRunner.panorama.setVisible(true);
	}else{
      	/*стирание блока под панорамку, если облом*/
		$('#panoview').remove();
	}
}
  
$(document).ready(function(){
	if(pobj_lat!='' && pobj_lng!=''){
      	/*запуск подключателя панорамы*/
		PanoRunner.initialize(pobj_lat, pobj_lng);
    }else{
      	/*стирание блока под панорамку, если координат нет*/
        $('#panoview').remove();
    }
});
</script>
{/literal}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

 

1111_cr.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

тут проблема скорее всего в том, что вы грузите панораму в таб, который на момент загрузки закрыт. а значит не имеет физических размеров. а карты, гугловские 100%, практически никогда не способны загрузиться в "безразмерный" блок. Например если вы сразу залетите в блок панорамки открытый http://realizator.info/chastnoe-imuschestvo/prodaja-kvartir/appartamenti/kiselevo-zalogovoe-imuschestvo/#tab3 то она сарзу должна загрузиться. а если только перешли в ее таб, тогда нужно ресайзить окно, что бы страница персчитала размеры и догрузила панормаку в уже нормальный контейнер.

Вариантов решения 2.

1. грузить панораму в открытый блок

2. грузить панораму в блок с абсолбтным позиционированием и четкими размерами в пикселях, но при загрузке размещенный за краем страницы а по клику открывашки таба, брать этот блок и перемещать в контейнер таба.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
20 минут назад, Александр Лубянский сказал:

Поставил в открытый тег и даже параметры блока по высоте задал... и... не вышел цветок!

Можно попробовать следующее

function map_resize() {
    var h = $(window).height(),
        offsetTop = 60;
    $('#panoview').css('height', (h - offsetTop));
}
$(document).ready(map_resize);

или вариант номер 2

<script type="text/javascript">
//отслеживаем событие, когда отобразился таб
$('a[data-toggle="tab"]').on('shown', function (e) {
ymaps.ready(function () {
    //если атрибут href равен '#tab3' (а это указатель на наш div, в котором расположена карта)
    if ($(e.target).attr('href') == '#tab3' )
    {
    //перерисовываем 
    map.container.fitToViewport();
    }
    })
})
</script> 

Это всего лишь пример с картой, механизм с панорамой тот же. (примеры для yandex карт 2.0 и выше)

обновление таба для google 

$('#myTab a[href="#profile"]').on('shown', function(){
        google.maps.event.trigger(map, 'resize');
        map.setCenter(latlng);
 });

Вариант. 3 удалите обработчик Google DOM и вызывать функцию Initialize () с "шоу" триггер Jquery/ Карта затем загружается по нажатию на TAB

jQuery('a[href="#googlemaps-tab-name"]').on('shown.bs.tab', function(e)
{   
    initialize();
});

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
5 часов назад, Александр Лубянский сказал:

Поставил в открытый тег и даже параметры блока по высоте задал... и... не вышел цветок!

а у меня ваши панорамы открываются на ура.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Только что, abushyk сказал:

а у меня ваши панорамы открываются на ура.

Хм... не вижу))

Воткнул чистый код, без табсов и... ноль

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
11 час назад, ReatEstate сказал:

А подскажите, реально ли открывать на своем сайте - готовые панорамы с донора  Dom.ria.com ?

Попробуйте, но думаю все подобные сайты включают настройку HotLink protection, чтобы не линковали картинки и другие ресурсы с других сайтов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А как сделать, чтобы если отмечен чекбокс "panorama" при добавлении объявления, панорама не выводилась (чтобы вообще скрипт не срабатывал, а не просто стирался блок)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для этого в условие по значению panorama нужно обернуть в шаблоне место, в котором написан скрипт. Напр {if $data.panorama.value==1}тут выводим текст скрипта{else}тут ничего не выводим{/if}. Тогда при компиляции шаблон просто не выдаст код скрипта и он не запустится. Но в таком случае возможно нужно будет играться со стилями, так как сам блок (хтмл) куда панка должна была бы вставиться не будет убран. Т.е. либо его тоже вывод обрамить таким же условием, либо применить к нему стили такие, что бы он схлопывался при незаполненности.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
26 минут назад, abushyk сказал:

Для этого в условие по значению panorama нужно обернуть в шаблоне место, в котором написан скрипт. Напр {if $data.panorama.value==1}тут выводим текст скрипта{else}тут ничего не выводим{/if}. Тогда при компиляции шаблон просто не выдаст код скрипта и он не запустится. Но в таком случае возможно нужно будет играться со стилями, так как сам блок (хтмл) куда панка должна была бы вставиться не будет убран. Т.е. либо его тоже вывод обрамить таким же условием, либо применить к нему стили такие, что бы он схлопывался при незаполненности.

Спасибо, только наоборот  {if $data.panorama.value==1}тут ничего не выводим{else}тут выводим{/if}

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
1 час назад, Johnny Bravo сказал:

Спасибо, только наоборот  {if $data.panorama.value==1}тут ничего не выводим{else}тут выводим{/if}

моя логика отказывается это принять))) было бы оно no_panorama - тогда бы все улеглось))))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас