ФорумПрограммированиеJavaScript → Гуглокарты

Гуглокарты

  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 5 сентября 2010 г. 16:42

    Начал я с двойного фейла - не сумел найти нужный раздел и не сумел придумть норм название для темы :D

    Тема такая есть гуглокатра очень условная. Она состоит из одной развертки земли которая повторяется если крутить карту вправо-влево. Карта квадратная, то есть ширина равна высоте (для расчетов важно). Ну в общем самая стандартная карта.

    Теперь нужно по карте нарисовать круг. Круги рисуется обычно по двум параметрам: центр и радиус. Пока центр круга и центр карты совпадают и радиус круга не больше чем ширина карты. Проблем особы нет даже если круг стоит в углу (левый верхний) карты и имеет радиус в ширину карты. В такой ситуации есть часть круга которая попала на карту - одна четвертая круга, и часть круга которая нарисовалась за картой - три четвертых. Все красиво все работает.

    Ситуация следующая. Нужно нарисовать прямоугольник. Прямоугольник обычно рисуют по трем параметрам: координата верхнего левого угла, ширина, высота. Думая о том что координаты по карте задаются не в пикселях а в широте-долготе понимаем что для рисования квадрата в углу (левом верхнем) надо задать координаты широта 90, долгота 180. При таком способе рисования получаеться что квадрат никогда не вылезет за верхнюю и/или левую границу карты. Но за правую то вылезет!

    Все еще хуже для рисования поверх карты картинки. Есть варианты при которых нужно чтобы картинка была например на стыке карт или перекрывала верхнюю границу что как понятно из предыдущего примера невозможно.

    Внимание, знатоки, вопрос: что делать?

    ЗЫ вариантов ответов не даю специально, а то думать не захотите
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 5 сентября 2010 г. 17:22, спустя 40 минут 24 секунды

    Тема такая есть гуглокатра очень условная. Она состоит из одной развертки земли которая повторяется если крутить карту вправо-влево

    во первых надо знать какая точно развертка, они разные бывают. Во вторых так просто рисовать - проблем нет. Проблемы появляются когда ты хочешь нарисовать и что то сопоставить - вот тогда появляются проблемы, земля то она круглая.
    Еще такой вопрос - что либа гугла не позволяет рисовать примитивы по GPS координатам?
    Я когда писал гео систему одну, я именно рисовал поверх карты картинки. Все это делается с помощью кучи формул. Это делалось по тому, что подложки могли быть разные и соответственно для каждой подложки свой набор формул.
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 5 сентября 2010 г. 17:34, спустя 11 минут 53 секунды

    во первых надо знать какая точно развертка, они разные бывают.

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

    земля то она круглая

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

    что либа гугла не позволяет рисовать примитивы

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

    почти рабочий пример который я допиливаю тут

    если посмотришь карту по ссылке там в углу четверть круга, вот именно о ней я и говорю
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 5 сентября 2010 г. 18:03, спустя 28 минут 56 секунд

    просто показать трёхменрый объект плоским дивом - довольно напряжно, обычно не делают таких масштабов. Может тогда сделать 4 слоя по 90 градусов каждый?
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 5 сентября 2010 г. 18:17, спустя 13 минут 56 секунд

    просто в тему формулы разные:
    http://williams.best.vwh.net/avform.html
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 5 сентября 2010 г. 18:22, спустя 4 минуты 31 секунду

    ты так и не ответил на первоначальный вопрос - что делать с объектами которые вылазят за границы карты, как их рисовать?
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 5 сентября 2010 г. 18:28, спустя 5 минут 56 секунд

    мавре, выложи исходнеги куда нить того что есть чтобы понять в чем у тебя проблема, или я с просонья не увидел проблему?
    Спустя 33 сек.

    ты так и не ответил на первоначальный вопрос - что делать с объектами которые вылазят за границы карты, как их рисовать?
    так и рисовать, затеняя часть где вылазят, например с помощью дива какого нить с полупрозрачностью переходящей в непрозрачность)
    Сапожник без сапог
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 5 сентября 2010 г. 18:30, спустя 2 минуты 10 секунд

    поддерживаю дуда за вынос отдельно исходов…
    CTAPbIu_MABP, я ж говорю, если я тебя правильно понял, тебе надо не так их вообще рисовать…
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 5 сентября 2010 г. 18:50, спустя 19 минут 46 секунд

    на глаз видно что не так или объяснить разницу еще раз?
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 5 сентября 2010 г. 18:52, спустя 2 минуты 43 секунды

    CTAPbIu_MABP, теперь понятно :) спасио за показательный пример)
    Сапожник без сапог
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 5 сентября 2010 г. 18:55, спустя 2 минуты 59 секунд

    так как нарисовать квадрат выше карты?
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 5 сентября 2010 г. 19:18, спустя 23 минуты 8 секунд

    ты рисуешь гуглом? Если да, разве у них нельзя нариcовать точку (-20, -20)?
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 5 сентября 2010 г. 19:24, спустя 6 минут 2 секунды

    kostyl, ты походу не читаешь что я пишу?
  • kostyl

    Сообщения: 5210 Репутация: N Группа: Джедаи

    Spritz 5 сентября 2010 г. 19:29, спустя 4 минуты 49 секунд

    я по ходу не пойму ))
    CTAPbIu_MABP, блин тебе надо их рисовать или не рисовать?
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 5 сентября 2010 г. 19:40, спустя 10 минут 23 секунды

    http://code.google.com/intl/ru/apis/maps/documentation/javascript/3.1/reference.html#Rectangle

    подобное юзаешь или свой метод отрисовки?
    Спустя 24 сек.
    у тебя увидел какой то рафаель леер, а чо это - хз))
    Сапожник без сапог

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