Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php if (!empty($image)) { ?>
- <section class="gray__bgd grey__bgd_image" style="background: url('<?= newthumbs($image, 'menu', 1920, 160, '1920x160x1', 1) ?>')">
- <?php } else { ?>
- <section class="gray__bgd" >
- <?php } ?>
- <div class="wrapper">
- <!-- <img class="img-page" src="images/image 68.png" alt=""> -->
- <ul class="breadcrumbs">
- <li class="bread__a"><a href="/<?= $uri1 ?>"><?= $home ?></a></li>
- <li class="bread__span"><span><?= $page_name ?></span></li>
- </ul>
- <h1 class="search-title"><?= $page_name ?></h1>
- </div>
- </section>
- <section class="shop-map">
- <div class="wrapper">
- <div class="shop-map__top">
- <div class="select-map">
- <div class="select__head">
- <span class="head-text"><?= STORES_LISTA ?> (<?= $stores_count ?>)</span>
- <svg width="9" height="6" viewBox="0 0 9 6" fill="none" xmlns="http://www.w3.org/2000/svg">
- <path d="M4.5 0L8.39712 5.25L0.602886 5.25L4.5 0Z" fill="#64696C"/>
- </svg>
- </div>
- <div class="select__body">
- <div class="form__body_up-top"></div>
- <ul>
- <?php foreach ($stores as $item) { ?>
- <li class="placemark<?= $item->id ?>">
- <svg width="24" height="25" viewBox="0 0 24 25" fill="none"
- xmlns="http://www.w3.org/2000/svg">
- <g opacity="0.2">
- <path fill-rule="evenodd" clip-rule="evenodd"
- d="M12 23.6191L12.6577 23.0376C18.1887 18.1477 21 13.878 21 10.125C21 4.81 16.9029 1.01245 12 1.01245C7.09705 1.01245 3 4.81 3 10.125C3 13.878 5.81131 18.1477 11.3423 23.0376L12 23.6191ZM12 20.9216C7.30661 16.6389 5 13.0098 5 10.125C5 5.97026 8.16411 3.03745 12 3.03745C15.8359 3.03745 19 5.97026 19 10.125C19 13.0098 16.6934 16.6389 12 20.9216ZM12 5.06245C14.7614 5.06245 17 7.32901 17 10.125C17 12.9209 14.7614 15.1875 12 15.1875C9.23858 15.1875 7 12.9209 7 10.125C7 7.32901 9.23858 5.06245 12 5.06245ZM9 10.125C9 8.44739 10.3431 7.08745 12 7.08745C13.6569 7.08745 15 8.44739 15 10.125C15 11.8025 13.6569 13.1625 12 13.1625C10.3431 13.1625 9 11.8025 9 10.125Z"
- fill="#64696C"/>
- </g>
- </svg>
- <div class="li__text">
- <h3 class=""><?= $item->title ?>
- <span class="<?php if ($item->o == 1){ ?>green-text<?php } ?>"><?= $item->open ?></span>
- </h3>
- <p class=""><?=$item->cities?>, <?= $item->address ?></p>
- <p class=""><?= $item->graph ?></p>
- </div>
- </li>
- <?php } ?>
- </ul>
- </div>
- </div>
- <label for="">
- <form class="search_stors" action="/<?= $uri1 ?>/<?= $uri2 ?>" method="get" style="height: 100%;">
- <input placeholder="<?= SEARCH_BY_ADDRESS ?> " type="text" name="search" id="search_stors" value="">
- <button class="form_search" type="submit">
- <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
- <g opacity="0.5">
- <path d="M19.7142 19.7142L15.9856 15.9856M17.9999 11.1428C17.9999 14.9299 14.9299 17.9999 11.1428 17.9999C7.35569 17.9999 4.28564 14.9299 4.28564 11.1428C4.28564 7.35569 7.35569 4.28564 11.1428 4.28564C14.9299 4.28564 17.9999 7.35569 17.9999 11.1428Z"
- stroke="white" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
- </g>
- </svg>
- </button>
- </form>
- </label>
- </div>
- </div>
- <div id="map"></div>
- </section>
- <script>
- var markerCluster = '';
- var marcers_all = [];
- var marcers_all_item = [];
- google.maps.event.addDomListener(window, 'load', init);
- var map;
- var locations = [
- <?php foreach ($stores_map as $stor){ ?>
- ['<?=$stor->title?>', <?=$stor->lat?>, <?=$stor->lng?>, '<?=$stor->cities?>, <?=$stor->address?> <br> <?=$stor->graph?>'],
- <?php } ?>
- ];
- function init() {
- var myOptions = {
- <?php if ($count_stores == 1){?>
- center: new google.maps.LatLng(<?=$stores_map[0]->lat?>,<?=$stores_map[0]->lng?>), // Координаты, какое место отображать на карте
- zoom: 14, // Уровень риближения карты
- <?php }elseif(!empty($cities_map)){?>
- center: new google.maps.LatLng(<?=$cities_map[0]->lat?>,<?=$cities_map[0]->lng?>), // Координаты, какое место отображать на карте
- zoom: 14,
- <?php }else{?>
- center: new google.maps.LatLng(47.339237,28.491552), // Координаты, какое место отображать на карте
- zoom: 8,
- <?php }?>
- mapTypeId: google.maps.MapTypeId.ROADMAP // Тип карты
- };
- map = new google.maps.Map(document.getElementById("map"), // В каком блоке будет отображаться карта
- myOptions);
- setMarkers(map, locations);
- }
- function setMarkers(map, locations) {
- var marker, i, mark_position;
- for (i = 0; i < locations.length; i++) { // Проходимся по нашему массиву с марками
- // Тут вроде и так все понятно
- var title = locations[i][0];
- var lat = locations[i][1];
- var long = locations[i][2];
- var text = locations[i][3];
- mark_position = new google.maps.LatLng(lat, long); // Создаем позицию для отметки
- marker = new google.maps.Marker({ // Что будет содержаться в отметке
- map: map, // К какой карте относиться отметка
- title: title, // Заголовок отметки
- position: mark_position, // Позиция отметки
- animation: google.maps.Animation.DROP, // Анимация
- icon: {
- url: "/assets/img/marker.png",
- scaledSize: new google.maps.Size(45, 52)
- }
- });
- // Дальше создаем контент для каждой отметки
- marcers_all[i] = marker;
- var content = '<div class="info-block"><h3>' + title + '</h3>' + text + '</div>';
- var infowindow = new google.maps.InfoWindow();
- // При нажатии на марку, будет отображаться контент
- marcers = google.maps.event.addListener(marker, 'click', (function (marker, content, infowindow) {
- return function () {
- infowindow.setContent(content);
- infowindow.open(map, marker);
- map.setZoom(18);
- };
- })(marker, content, infowindow));
- }
- new MarkerClusterer(map, marcers_all, {
- imagePath:
- "https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m",
- });
- }
- <?php foreach ($stores as $stor){ ?>
- $(function () {
- $('.placemark<?=$stor->id?>').click(function () {
- var latLng = new google.maps.LatLng(<?=$stor->lat?>, <?=$stor->lng?>); //Makes a latlng
- map.panTo(latLng); //Make map global
- map.setZoom(16);
- $('.store_select').html('<?=$stor->title?>');
- $('ul li').removeClass('active_shop');
- $(this).addClass('active_shop');
- $.ajax({
- url: '/CheckedStor/', // путь к обработчику
- type: 'POST', // метод отправки
- data: {checkedstor: "<?=$stor->id?>"},
- success: function (data) {
- console.log("УСПЕХ"); // выводим сообщение в консоль
- },
- error: function (data) {
- console.log(data); // выводим ошибку в консоль
- }
- });
- });
- });
- <?php } ?>
- $('body').on('click', '#search_stors', function () {
- $('body .select__head_open').trigger('click');
- });
- var locations_all = [
- <?php foreach ($stores as $stor){ ?>
- ['<?=$stor->title?>', <?=$stor->lat?>, <?=$stor->lng?>, '<?=$stor->cities?>, <?=$stor->address?> <br> <?=$stor->graph?>'],
- <?php } ?>
- ];
- function init_all() {
- var myOptions = {
- center: new google.maps.LatLng(47.339237,28.491552), // Координаты, какое место отображать на карте
- zoom: 8, // Уровень риближения карты
- mapTypeId: google.maps.MapTypeId.ROADMAP // Тип карты
- };
- }
- function setMarkers_all(map, locations) {
- var marker, i, mark_position;
- for (i = 0; i < locations.length; i++) { // Проходимся по нашему массиву с марками
- // Тут вроде и так все понятно
- var title = locations[i][0];
- var lat = locations[i][1];
- var long = locations[i][2];
- var text = locations[i][3];
- mark_position = new google.maps.LatLng(lat, long); // Создаем позицию для отметки
- marker = new google.maps.Marker({ // Что будет содержаться в отметке
- map: map, // К какой карте относиться отметка
- title: title, // Заголовок отметки
- position: mark_position, // Позиция отметки
- animation: google.maps.Animation.DROP, // Анимация
- icon: {
- url: "/assets/img/marker.png",
- scaledSize: new google.maps.Size(45, 52)
- }
- });
- // Дальше создаем контент для каждой отметки
- marcers_all_item[i] = marker;
- var content = '<div class="info-block"><h3>' + title + '</h3>' + text + '</div>';
- var infowindow = new google.maps.InfoWindow();
- // При нажатии на марку, будет отображаться контент
- google.maps.event.addListener(marker, 'click', (function (marker, content, infowindow) {
- return function () {
- infowindow.setContent(content);
- infowindow.open(map, marker);
- map.setZoom(18);
- };
- })(marker, content, infowindow));
- }
- new MarkerClusterer(map, marcers_all_item, {
- imagePath:
- "https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m",
- });
- }
- $('body').on('click', '.select__head', function () {
- init_all();
- $('.select__body').removeClass('d-none');
- $('.select__body').addClass('d-block');
- });
- $('body').on('click', '.li__text', function () {
- $('.select__body').addClass('d-none');
- $('.shop-map__top').removeClass('shop-map__top_active');
- $('.select__body').removeClass('d-block');
- });
- </script>
- <style>
- #map {
- height: 600px;
- width: 100%;
- }
- </style>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement