• Почему отправляются кракозябры?

    @evgen9586 Автор вопроса
    Хотя добавление к параметрам не сильно помогло)

    $Body = "Content-type: text/html; charset=utf-8";
    $Body .= "Name: ";
    $Body .= $name;
    $Body .= "\n";
    $Body .= "Email: ";
    $Body .= $email;
    $Body .= "\n";
    $Body .= "Subject: ";
    $Body .= $msg_subject;
    $Body .= "\n";
    $Body .= "Message: ";
    $Body .= $message;
    $Body .= "\n";
  • Почему отправляются кракозябры?

    @evgen9586 Автор вопроса
    Это в самом php устанавливать?
  • Почему Не работают ЧПУ Yii2?

    @evgen9586 Автор вопроса
    slo_nik, По дефолту то что лежит в вебе в бейсик редакции Yii2. Т е 5a8514a099fa0432844365.jpeg
  • Почему Не работают ЧПУ Yii2?

    @evgen9586 Автор вопроса
    OKyJIucT,
    ______________________ Versions used ______________________
    Apache 2.4.27 - PHP 5.6.31
    MySQL 5.7.19
    MariaDB 10.2.8
    PHP 5.6.31 for CLI (Command-Line Interface)
  • Почему Не работают ЧПУ Yii2?

    @evgen9586 Автор вопроса
    site лишний из ссылки убрало но страницы так и выдаются нот фаунд. Причём в документации и гайдах такая настройка ЧПУ. Не понимаю , что я делаю не так
  • Сложно ли перенести вёрстку на Wordpress?

    @evgen9586 Автор вопроса
    Ну суть в том, чтобы натянуть лендинг на Wordpress. Чтобы использовать управление блогом Wordpress.

    Допустим накидаю Мультипейдж верстку, но нужно это всё с вордпрессом интегрировать. Писать вручную блог на php не хотят, а именно WP
  • Есть ли Обучение C# с практикой?

    @evgen9586 Автор вопроса
    Понимаете. В чём была проблема в универе в своё время , в том что сначала давалось куча информации, всё скидывалось в кашу, а потом в конце давали лабы. Естественно 80-90% лабы не делали.

    Мне нравится позиация платных курсов. Там по каждому материалу контролируемая практкика. Тогда есть большой шанс , что в голову чёт вобьётся.

    И так же нравится как сделан сайт по javascript. Там под абсолютно каждой темой есть задания, причём есть примеры выполнения.

    Так интересней учить язык
  • Почему при задании цикла оно требует нажатия Enter?

    @evgen9586 Автор вопроса
    А тьфу, не заметил) Спасибо
  • Почему возникает ошибка initMap is not a function?

    @evgen9586 Автор вопроса
    Я протестировал, эта ошибка сбоя не вызывает и на телефоне стало отлично работать и всегда правильно строит. Считаю вопрос закрытым, Спасибо за наводку про колбек
  • Почему возникает ошибка initMap is not a function?

    @evgen9586 Автор вопроса
    В общем решил я убрать колбек, так как думаю именно там был вызов до аякса. И 2 ошибки пропало. Осталось только это чудо5a45d9efc2e0d909397976.jpeg
  • Почему возникает ошибка initMap is not a function?

    @evgen9586 Автор вопроса
    У меня ведь функция InitMap вызывается с параметрами (my_coords,lat,lng) в случае успешного запроса аякс.

    Но наблюдаю отладку, сразу при обновлении она underfined,
    Но потом всё прекрасно находит5a45d86bee132132409207.jpeg

    Судя по всему оно пытается достать эту переменную ещё до Аякс запроса.

    function myplace()
        {
            if(navigator.geolocation) {
                navigator.geolocation.getCurrentPosition(function(position) {
                    geocoding(position.coords.latitude, position.coords.longitude);
                });
            } else
            {
                console.log("Geolocation API не поддерживается в вашем браузере");
            }
        }
    
        function geocoding(lat, lon)
        {
            var my_adress;
            var api_key = 'AIzaSyAsuS1MqzRBzRv1HRrfrlyoMRlkrVXEx0g';
            var cordinats = [lat,  lon];
            var loctype = 'ROOFTOP';
            var restype = 'street_address';
            var position = cordinats.join(",");
            var data = {latlng: position, location_type: loctype, result_type: restype, key: api_key};
            $.ajax({
                method: "GET",
                url: "https://maps.googleapis.com/maps/api/geocode/json",
                data: data,
                dataType: 'json',
                success: function (result) {
                    console.log(result);
                    my_adress = result.results[0].formatted_address;
                    my_coords = result.results[0].geometry.location;
    
                    alert("Вы здесь" + " " + "<" + " " + my_adress + " " + ">");
                    initMap(my_coords,lat,lon);
                },
                error: function (err) {
                    console.log("Ошибка сервера")
                }
            })
        }
        myplace();
        function initMap(coords,lat,lon){
            var latlng = new google.maps.LatLng(lat, lon);
            var map;
            var image = 'images/23.png';
            var basemarker = [
    
                [53.9143142,27.4173581],
                [53.9251061,27.5888264],
                [53.861006, 27.5692355],
                [53.9098637,27.5348443],
                [53.9351309,27.6492208]
            ];
            //style map
            var mapOptions = {
                center: latlng,
                zoom: 10,
                mapTypeControl: false,
                streetViewControl: false,
                styles: [{"featureType":"water","stylers":[{"saturation":43},{"lightness":-11},{"hue":"#0088ff"}]},{"featureType":"road","elementType":"geometry.fill","stylers":[{"hue":"#ff0000"},{"saturation":-100},{"lightness":99}]},{"featureType":"road","elementType":"geometry.stroke","stylers":[{"color":"#808080"},{"lightness":54}]},{"featureType":"landscape.man_made","elementType":"geometry.fill","stylers":[{"color":"#ece2d9"}]},{"featureType":"poi.park","elementType":"geometry.fill","stylers":[{"color":"#ccdca1"}]},{"featureType":"road","elementType":"labels.text.fill","stylers":[{"color":"#767676"}]},{"featureType":"road","elementType":"labels.text.stroke","stylers":[{"color":"#ffffff"}]},{"featureType":"poi","stylers":[{"visibility":"off"}]},{"featureType":"landscape.natural","elementType":"geometry.fill","stylers":[{"visibility":"on"},{"color":"#b8cb93"}]},{"featureType":"poi.park","stylers":[{"visibility":"on"}]},{"featureType":"poi.sports_complex","stylers":[{"visibility":"on"}]},{"featureType":"poi.medical","stylers":[{"visibility":"on"}]},{"featureType":"poi.business","stylers":[{"visibility":"simplified"}]}]
            };
    
            map = new google.maps.Map(document.getElementById('map'), mapOptions);
    
            var marker = new google.maps.Marker({
                position: latlng,
                map: map,
                title:"Вы знаходитесь в данном месте"
            });
            for (var i = 0; i < basemarker.length; i++) { // отрисовка маркеров на карте
                var dbmarker= basemarker[i];
                var marker1 = new google.maps.Marker({
                    position: {lat: dbmarker[0], lng: dbmarker[1]},
                    map: map,
                    icon:image,
                    title: dbmarker[0],
    
                });
            }
    
    
    
            var directionsService = new google.maps.DirectionsService;
            var directionsDisplay = new google.maps.DirectionsRenderer({
                draggable: true,
                map: map,
                panel: document.getElementById('right-panel')
            });
    
    
            var closestPointIdx = 0;
            var predict = 0;
            var dist = 0;
            var minDist = 100000;
            for (var i = 0 ; i < basemarker.length; i++) {
                console.log("Переменная",coords);
                var request = {
                    origin:   {
                        // "LatLng":
    
                        "lat" : coords.lat,//координаты начальной точки
                        "lng" : coords.lng,//координаты начальной точки
                    },
    
                    destination:{
                        "lat" : basemarker[i][0],//координаты конечной точки
                        "lng" : basemarker[i][1]//координаты конечной точки
                    },
                    travelMode: 'DRIVING'
                };
                directionsService.route(request, function(response, status) {
                    if (status == 'OK') {
                        dist = computeTotalDistance_crutch(response); //ответ отсюда  в массив, находим самое меньшее
    
                        if  (dist < minDist ) {
                            minDist = dist;
    
                            closestPointIdx = predict;
                            predict++;
                        }
    
                        displayRoute(latlng,{lat: basemarker[closestPointIdx][0], lng: basemarker[closestPointIdx][1]} , directionsService,
                            directionsDisplay);
    
    
    
                    }
                });
    
            }
        }
        function displayRoute(origin, destination, service, display) {
    
            service.route({
                origin: origin,
                destination: destination,
    
                travelMode: 'DRIVING',
                avoidTolls: true
            }, function(response, status) {
                if (status === 'OK') {
                    display.setDirections(response);
                } else {
                    console.log('Could not display directions due to: ' + status);
                }
            });
        }
    
        //Подсчёт расстояния
    
        function computeTotalDistance_crutch(result) {
            var total = 0;
            var myroute = result.routes[0];
            for (var i = 0; i < myroute.legs.length; i++) {
                total += myroute.legs[i].distance.value;
            }
            total = total / 1000;
            return total;
        }
    
    
        function viewRoute()
        {
            $("#right-panel").fadeIn(1000)
        }
  • Почему возникает ошибка initMap is not a function?

    @evgen9586 Автор вопроса
    Сделал теперь такую последовательность
    <script defer src="js/jquery-3.2.1.js"></script>
    <script defer src="js/file.js"></script>
    <script defer src="js/index.js"></script>
    <script  defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAsuS1MqzRBzRv1HRrfrlyoMRlkrVXEx0g&callback=initMap"></script>


    Та ошибка пропала, но появилось три новые. Первым подключаю jQuery естественно, так как file.js index.js юзают его. Последним гугловский

    Но три ошибки. Первая и последняя ошибка мне не понятна, а вот 2 ошибка парадокс.
    5a45ca6605993061330301.jpeg

    По поводу 2 ошибки.
    Оно ругается на lat, но не ругается на lng. Это очеееееееень странно)
    5a45cb4090857055546651.jpeg

    Вот в консоль вывел Резалт иииии что не так то? Да и если бы оно не подхватывало lat lng , оно бы попросту не строило бы маршрут
    5a45cbf028054580004612.jpeg
  • Реально ли сделать Jquery сворачивание блоков, в которые попадают данные Google Api?

    @evgen9586 Автор вопроса
    Ладно , выполняется скрипт неверно из-за моих руки и костылей. Этот вопрос опустим.

    Но вот допустим такая картинка нужна.

    Сразу во весь экран грузится карта. И висит значок . И по клику на значок справа вылетает поверх этого блока блок с маршрутом.

    Я нашёл готовый вариант, но он не пашет
  • Реально ли сделать Jquery сворачивание блоков, в которые попадают данные Google Api?

    @evgen9586 Автор вопроса
    tyzberd, Нет. Я вот выгрузил на хостинг https://mazservices.000webhostapp.com/

    На компьютере проблем нет. Хотя и идеале я хотел чтобы блок который содержит инфу о маршруте вылезал из стороны сдвигая левый блок. Но пока не могу допетрить как.

    Суть ещё в чём. Запускаю его на мобиле и там то ли аякс запросы браузер хреново посылает , толи багается. Но скрипт выполняется неверно
  • Как определить какая метка на Gmaps ближе?

    @evgen9586 Автор вопроса
    Нужно делать какой то перебор значений меток, сравнивать с latlng и получатт минимальное значение, тогда уже функция displayRoute будет считать orign: latlng, destination: минимальное значение расстояния от lanlng
  • Как определить какая метка на Gmaps ближе?

    @evgen9586 Автор вопроса
    Переписал код немного. Добавил массив меток. Удалил старый расчёт расстояния и построение дорог.

    Сейчас вот так выглядит
    $(document).ready(function(){
        function myplace()
        {
            if(navigator.geolocation) {
                navigator.geolocation.getCurrentPosition(function(position) {
                    geocoding(position.coords.latitude, position.coords.longitude);
                });
            } else
            {
                alert("Geolocation API не поддерживается в вашем браузере");
            }
        }
    
        function geocoding(lat, lon)
        {
            var my_adress;
            var api_key = 'AIzaSyAsuS1MqzRBzRv1HRrfrlyoMRlkrVXEx0g';
            var cordinats = [lat,  lon];
            var loctype = 'ROOFTOP';
            var restype = 'street_address';
            var position = cordinats.join(",");
            var data = {latlng: position, location_type: loctype, result_type: restype, key: api_key};
            $.ajax({
                method: "GET",
                url: "https://maps.googleapis.com/maps/api/geocode/json",
                data: data,
                dataType: 'json',
                success: function (result) {
                    console.log(result)
                    my_adress = result.results[0].formatted_address;
                    alert("Вы здесь" + " " + "<" + " " + my_adress + " " + ">");
                    /-----------------------GMaps Initialization-------------------------------/
                    function initMap() {
                        var latlng = new google.maps.LatLng(lat, lon);
                        var map;
                        var image = 'images/23.png';
                        var basemarker = [
                            ['СЦ Маяковского', 53.861006, 27.5692355, 4],
                            ['СЦ Каменная горка', 53.9143142,27.4173581, 5],
                            ['СЦ Сурганова', 53.9251061,27.5888264, 3],
                            ['СЦ заславская', 53.9098637,27.5348443, 2],
                            ['СЦ Независимости', 53.9351309,27.6492208, 1]
                        ];
                        var mapOptions = {
    
                            center: latlng,
                            zoom: 10,
                            mapTypeControl: false,
                            streetViewControl: false,
                            styles: [{"featureType":"water","stylers":[{"saturation":43},{"lightness":-11},{"hue":"#0088ff"}]},{"featureType":"road","elementType":"geometry.fill","stylers":[{"hue":"#ff0000"},{"saturation":-100},{"lightness":99}]},{"featureType":"road","elementType":"geometry.stroke","stylers":[{"color":"#808080"},{"lightness":54}]},{"featureType":"landscape.man_made","elementType":"geometry.fill","stylers":[{"color":"#ece2d9"}]},{"featureType":"poi.park","elementType":"geometry.fill","stylers":[{"color":"#ccdca1"}]},{"featureType":"road","elementType":"labels.text.fill","stylers":[{"color":"#767676"}]},{"featureType":"road","elementType":"labels.text.stroke","stylers":[{"color":"#ffffff"}]},{"featureType":"poi","stylers":[{"visibility":"off"}]},{"featureType":"landscape.natural","elementType":"geometry.fill","stylers":[{"visibility":"on"},{"color":"#b8cb93"}]},{"featureType":"poi.park","stylers":[{"visibility":"on"}]},{"featureType":"poi.sports_complex","stylers":[{"visibility":"on"}]},{"featureType":"poi.medical","stylers":[{"visibility":"on"}]},{"featureType":"poi.business","stylers":[{"visibility":"simplified"}]}]
                        };
    
                        map = new google.maps.Map(document.getElementById('map'), mapOptions);
                        var marker = new google.maps.Marker({
                            position: latlng,
                            map: map,
                            title:"Вы знаходитесь в данном месте"
                        });
                                for (var i = 0; i < basemarker.length; i++) {
                                var dbmarker= basemarker[i];
                                var marker1 = new google.maps.Marker({
                                    position: {lat: dbmarker[1], lng: dbmarker[2]},
                                    map: map,
                                    icon:image,
                                    title: dbmarker[0],
                                    zIndex: dbmarker[3]
                                });
                            }
                        }
    
    
                    initMap();
    
    
                },
                error: function (err) {
                    console.log("Ошибка сервера")
                }
            })
        }
        myplace();
    
    
    
    
    
      
    });
  • Почему этот WP шаблон не желает работать?

    @evgen9586 Автор вопроса
    А всё, прошу прощения. Понял. У моей темы есть параметр Template
  • Почему этот WP шаблон не желает работать?

    @evgen9586 Автор вопроса
    Я сравнил заголовки рабочей стоковой темы и этой , которую скачал

    style.css Twenty Блабла
    /*
    Theme Name: Twenty Fifteen
    Theme URI: https://wordpress.org/themes/twentyfifteen/
    Author: the WordPress team
    Author URI: https://wordpress.org/
    Description: Our 2015 default theme is clean, blog-focused, and designed for clarity. Twenty Fifteen's simple, straightforward typography is readable on a wide variety of screen sizes, and suitable for multiple languages. We designed it using a mobile-first approach, meaning your content takes center-stage, regardless of whether your visitors arrive by smartphone, tablet, laptop, or desktop computer.
    Version: 1.9
    License: GNU General Public License v2 or later
    License URI: http://www.gnu.org/licenses/gpl-2.0.html
    Tags: blog, two-columns, left-sidebar, accessibility-ready, custom-background, custom-colors, custom-header, custom-logo, custom-menu, editor-style, featured-images, microformats, post-formats, rtl-language-support, sticky-post, threaded-comments, translation-ready
    Text Domain: twentyfifteen
    
    This theme, like WordPress, is licensed under the GPL.
    Use it to make something cool, have fun, and share what you've learned with others.
    */


    и у скачанной темы
    style.css скачанной темы
    /*
    Theme Name: Reign Lite
    Theme URI: http://reign.aqibashef.me
    Author: Aqib Ashef
    Author URI: http://aqibashef.me
    Description: This theme is developed as a free distribution version of Reign Pro (https://wpwagon.com/themes/premium-corporate-agency-wordpress-theme-reign-pro/)
    Version: 1.0.0
    Template: reign-lite
    License: LICENSE
    License URI: LICENSE
    Text Domain: reign-lite
    
    Use it to make something cool, have fun, and share what you've learned with others.
    */


    Всё равно не понятно , почему она дочерняя