Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> вычисление координат от радиуса 
V
    Опции темы
kovalenko123
Дата 24.4.2012, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 12.5.2008

Репутация: нет
Всего: 1



Всем привет! 
Задача. показать все объекты на карте гугл мап в заданной окружности.

в базе данных есть отдельные поля для lat lng 

Изначально решение (как мне казалось)было таким что беру координаты круга через getBounds(); получаю верхнюю точку и нижнюю и отправляю в запрос. даже начало что то возвращать но при детальном тестинге выяснилось что работает как то не точно.

не стал особо разбираться потому как время не терпит пришел ко второму варианту зная радиус и центр отсчета можно как то вычислить диапазоны координат же? 

Кто сталкивался с такой задачей отзовитесь плиз. подскажите как лучше решить эту задачу.



Код
   

function show(latt,longg)
    {
        $.post("index.php", {latt: latt, longg: longg }, function(data) {
            $('#home_ret').html(data);
        });
     }

    function addObjects() {
        var circle_option = {
            strokeColor: "#ff0000",
            strokeOpacity: 0.8,
            strokeWeight: 1,
            fillColor: "#ff0000",
            fillOpacity: 0.20,
            map: map,
            center: map.getCenter(),
            radius: 16090*2,
            editable: true
            
        };  
        var drawCirle =  new google.maps.Circle(circle_option); 
        drawCirle.setMap(map); 
             
        google.maps.event.addListener(drawCirle, 'radius_changed', function () {
            // radius = drawCirle.getRadius();
            // latt = drawCirle.getCenter().lat();
            //  longg = drawCirle.getCenter().lng();

            //  latlng = drawCirle.getCenter();

            var bounds = drawCirle.getBounds();
            var ne = bounds.getNorthEast();
            var sw = bounds.getSouthWest();
          console.log(lat+'<>'+lng);
            show(sw.lat(),sw.lng());
        });
        
              
    }

PM MAIL ICQ   Вверх
iff
Дата 24.4.2012, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Администратор
**


Профиль
Группа: Участник
Сообщений: 949
Регистрация: 23.3.2007

Репутация: 3
Всего: 16



Цитата(kovalenko123 @  24.4.2012,  13:32 Найти цитируемый пост)
зная радиус и центр отсчета можно как то вычислить диапазоны координат же? 

Для координат должно выполняться условие:
(X - Xo)^2 + (Y - Yo)^2 <= R^2
Если Googe Map требует указать диапозон координат в формате "y от такого до такого, x от такого до такого", то нужно запросить все объекты с координатой x от (Xo - R) до (Xo + R) и координатой y от (Yo - R) до (Yo + R), а затем выбрать только те объекты, для которых истинно вышеприведенное неравенство.


--------------------
DOS... Синей пеленой экран заполнил чистый DOS 
Мышь... Стала вдруг квадратной, потеряла форму мышь... 
Я разбил окно, девяностопятое мастдайное окно, 
И поставил DOS, и тогда увидел: Это счастье, — вот оно.  
PM MAIL WWW   Вверх
kovalenko123
Дата 25.4.2012, 08:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 12.5.2008

Репутация: нет
Всего: 1



Вот решение http://maps.forum.nu/gm_drag_polygon.html 
Кому нужна помощь в этом вопросе пишите скину реальный работающий код

iff Спасибо!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0500 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.