Архив рубрики: PHP

Попадание точки в круг, PHP

Дано: координаты точки, координаты круга, его радиус. Нужно определить попадает ли точка в круг.

//$Xc,Yc - координаты круга $radius - его радиус
//$stx,$sty - координаты точки
$d1=sqrt(($Xc-$stx)*($Xc-$stx)+($Yc-$sty)*($Yc-$sty));
if (($d1<=$radius) or ($d2<=$radius)){echo "Точка в круге!";};

Ну тупые…. (с) Задорнов…или как затупить с imagecolorallocate в gd php

А началось всё с того, что неожиданоо в скрипте после определенного количсетва вызовов imagecolorallocate, он стал возвращать false. С полчаса убил на поиски ошибки в коде, искал не верные значения и т.п. Нарыл! Оказывается если изображение создается при помощи imagecreate, то функция imagecolorallocate может вызываться в пределах одного ресурса изображения не более 256 раз. Чтобы обойти это ограничение — пользуйтесь imagecreatetruecolor

Реализация рисования на картах с использованием API Яндекс.Карт.

Задача: необходимо реализовать рисование на картах, с возможностью сохранения нарисованного во внешнюю базу.

Снимок экрана из 2015-07-01 10:34:22

Решение: будем использовать API Яндекс.Карт.

Логика: отображаем карту в зависимости от выбранного подразделения, и слоя. При выборе подразделения или слоя, подгружаем из вне ранее нарисованные обьекты. При нажатии кнопки «Сохранить» — сохраняем их во внешнюю базу.

Демо (безо возможности сохранения обьектов)

Далее код: Читать далее Реализация рисования на картах с использованием API Яндекс.Карт.

Получениие координат по адресу при помощи сервиса Яндекс Карты на PHP

Оказывается довольно таки просто реализовать получение географических координат точки по точному адресу обьекта. У меня вышел такой код:

        $url="https://geocode-maps.yandex.ru/1.x/?geocode=$address&format=json";
        $fh = fopen($url, 'r');
        $code = '';
            while(!feof($fh)) $code .= fread($fh, 1024);
            fclose($fh);
        $res=json_decode($code);     
        foreach ($res as $key=>$value) {
            foreach ($value as $key=>$value1) {
                foreach ($value1 as $key=>$value2) {
                     if ($key=="featureMember"){
                         foreach ($value2 as $key=>$value3) {
                            foreach ($value3 as $key=>$value4) {
                                foreach ($value4 as $key=>$value5) {
                                    if ($key=="Point"){
                                        foreach ($value5 as $key=>$value6) {
                                            $coor=$value6;
                                        };
                                    };
                                };
                            };
                         };
                     };
                };

            };

        };

Тихо и незаметно вышло обновление «Учет оргтехники и ТМЦ в браузере».

Основные изменения:

  • устранение ошибок
  • группировка помещений
  • новое меню (адаптировано для планшетов)
  • хранилище документов

Снимок экрана из 2015-05-26 11:52:22

Описание здесь. Забрать можно здесь.