мавр
Группа: в ухо Карма: не нужна
Сообщений: 5187 Сила слова: 1.81
|
Начал я с двойного фейла - не сумел найти нужный раздел и не сумел придумть норм название для темы :D
Тема такая есть гуглокатра очень условная. Она состоит из одной развертки земли которая повторяется если крутить карту вправо-влево. Карта квадратная, то есть ширина равна высоте (для расчетов важно). Ну в общем самая стандартная карта.
Теперь нужно по карте нарисовать круг. Круги рисуется обычно по двум параметрам: центр и радиус. Пока центр круга и центр карты совпадают и радиус круга не больше чем ширина карты. Проблем особы нет даже если круг стоит в углу (левый верхний) карты и имеет радиус в ширину карты. В такой ситуации есть часть круга которая попала на карту - одна четвертая круга, и часть круга которая нарисовалась за картой - три четвертых. Все красиво все работает.
Ситуация следующая. Нужно нарисовать прямоугольник. Прямоугольник обычно рисуют по трем параметрам: координата верхнего левого угла, ширина, высота. Думая о том что координаты по карте задаются не в пикселях а в широте-долготе понимаем что для рисования квадрата в углу (левом верхнем) надо задать координаты широта 90, долгота 180. При таком способе рисования получаеться что квадрат никогда не вылезет за верхнюю и/или левую границу карты. Но за правую то вылезет!
Все еще хуже для рисования поверх карты картинки. Есть варианты при которых нужно чтобы картинка была например на стыке карт или перекрывала верхнюю границу что как понятно из предыдущего примера невозможно.
Внимание, знатоки, вопрос: что делать?
ЗЫ вариантов ответов не даю специально, а то думать не захотите
|
|
|
|
|
Записан
|
java.lang.OutOfMemoryError
|
|
|
|
kostyl ↓
|
 |
|
05 Сентябрь, 2010, 05:22:54 , спустя 40 минут 24 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
занедельный антипаттерн
Группа: Джедаи Карма: 60
Сообщений: 3522 Сила слова: 1.7
|
Тема такая есть гуглокатра очень условная. Она состоит из одной развертки земли которая повторяется если крутить карту вправо-влево
во первых надо знать какая точно развертка, они разные бывают. Во вторых так просто рисовать - проблем нет. Проблемы появляются когда ты хочешь нарисовать и что то сопоставить - вот тогда появляются проблемы, земля то она круглая.
Еще такой вопрос - что либа гугла не позволяет рисовать примитивы по GPS координатам?
Я когда писал гео систему одну, я именно рисовал поверх карты картинки. Все это делается с помощью кучи формул. Это делалось по тому, что подложки могли быть разные и соответственно для каждой подложки свой набор формул.
|
|
|
|
|
Записан
|
качество жизни обратно пропорционально количеству лени
|
|
|
|
CTAPbIu_MABP ↓
|
 |
|
05 Сентябрь, 2010, 05:34:47 , спустя 11 минут 53 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
мавр
Группа: в ухо Карма: не нужна
Сообщений: 5187 Сила слова: 1.81
|
во первых надо знать какая точно развертка, они разные бывают.
я так понял ты имеешь ввиду проекцию. я использую Эвклидову но все так же прекрасно работает и на Меркаторе. потому что проекция берет на себя все перерасчеты
земля то она круглая
в том то и дело - она плоская. потому что сопоставляються пиксели от левого верхнего угла, а уже перевести широту-долготу в пиксели задача проекции
что либа гугла не позволяет рисовать примитивы
позволяет два - круг и прямоугольник. но при большом радиусе круг вырождается в квадрат потому что рисуется по точкам а не вектором
почти рабочий пример который я допиливаю тут
если посмотришь карту по ссылке там в углу четверть круга, вот именно о ней я и говорю
|
|
|
|
|
Записан
|
java.lang.OutOfMemoryError
|
|
|
|
kostyl ↓
|
 |
|
05 Сентябрь, 2010, 06:03:43 , спустя 28 минут 56 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
занедельный антипаттерн
Группа: Джедаи Карма: 60
Сообщений: 3522 Сила слова: 1.7
|
просто показать трёхменрый объект плоским дивом - довольно напряжно, обычно не делают таких масштабов. Может тогда сделать 4 слоя по 90 градусов каждый?
|
|
|
|
|
Записан
|
качество жизни обратно пропорционально количеству лени
|
|
|
|
kostyl ↓
|
 |
|
05 Сентябрь, 2010, 06:17:39 , спустя 13 минут 56 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
занедельный антипаттерн
Группа: Джедаи Карма: 60
Сообщений: 3522 Сила слова: 1.7
|
|
|
|
|
|
Записан
|
качество жизни обратно пропорционально количеству лени
|
|
|
|
CTAPbIu_MABP ↓
|
 |
|
05 Сентябрь, 2010, 06:22:10 , спустя 4 минуты 31 секунду
|
НЕ ХУЕТА!
ХУЕТА!
|
мавр
Группа: в ухо Карма: не нужна
Сообщений: 5187 Сила слова: 1.81
|
ты так и не ответил на первоначальный вопрос - что делать с объектами которые вылазят за границы карты, как их рисовать?
|
|
|
|
|
Записан
|
java.lang.OutOfMemoryError
|
|
|
|
phpdude ↓
|
 |
|
05 Сентябрь, 2010, 06:28:06 , спустя 5 минут 56 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 344
Сообщений: 20790 Сила слова: 1.65
|
мавре, выложи исходнеги куда нить того что есть чтобы понять в чем у тебя проблема, или я с просонья не увидел проблему? Спустя 33 секунды добавил
ты так и не ответил на первоначальный вопрос - что делать с объектами которые вылазят за границы карты, как их рисовать?
так и рисовать, затеняя часть где вылазят, например с помощью дива какого нить с полупрозрачностью переходящей в непрозрачность)
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
kostyl ↓
|
 |
|
05 Сентябрь, 2010, 06:30:16 , спустя 2 минуты 10 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
занедельный антипаттерн
Группа: Джедаи Карма: 60
Сообщений: 3522 Сила слова: 1.7
|
поддерживаю дуда за вынос отдельно исходов...
CTAPbIu_MABP, я ж говорю, если я тебя правильно понял, тебе надо не так их вообще рисовать...
|
|
|
|
|
Записан
|
качество жизни обратно пропорционально количеству лени
|
|
|
|
CTAPbIu_MABP ↓
|
 |
|
05 Сентябрь, 2010, 06:50:02 , спустя 19 минут 46 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
мавр
Группа: в ухо Карма: не нужна
Сообщений: 5187 Сила слова: 1.81
|
на глаз видно что не так или объяснить разницу еще раз?
|
|
|
|
Записан
|
java.lang.OutOfMemoryError
|
|
|
|
phpdude ↓
|
 |
|
05 Сентябрь, 2010, 06:52:45 , спустя 2 минуты 43 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
я - ЭМО
Группа: в ухо Карма: 344
Сообщений: 20790 Сила слова: 1.65
|
CTAPbIu_MABP, теперь понятно :) спасио за показательный пример)
|
|
|
|
|
Записан
|
забанен. могу забанить других, пишите в личку BEER. Helping ugly people have sex since 1862.
|
|
|
|
CTAPbIu_MABP ↓
|
 |
|
05 Сентябрь, 2010, 06:55:44 , спустя 2 минуты 59 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
мавр
Группа: в ухо Карма: не нужна
Сообщений: 5187 Сила слова: 1.81
|
так как нарисовать квадрат выше карты?
|
|
|
|
|
Записан
|
java.lang.OutOfMemoryError
|
|
|
|
kostyl ↓
|
 |
|
05 Сентябрь, 2010, 07:18:52 , спустя 23 минуты 8 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
занедельный антипаттерн
Группа: Джедаи Карма: 60
Сообщений: 3522 Сила слова: 1.7
|
ты рисуешь гуглом? Если да, разве у них нельзя нариcовать точку (-20, -20)?
|
|
|
|
|
Записан
|
качество жизни обратно пропорционально количеству лени
|
|
|
|
CTAPbIu_MABP ↓
|
 |
|
05 Сентябрь, 2010, 07:24:54 , спустя 6 минут 2 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
мавр
Группа: в ухо Карма: не нужна
Сообщений: 5187 Сила слова: 1.81
|
kostyl, ты походу не читаешь что я пишу?
|
|
|
|
|
Записан
|
java.lang.OutOfMemoryError
|
|
|
|
kostyl ↓
|
 |
|
05 Сентябрь, 2010, 07:29:43 , спустя 4 минуты 49 секунд
|
НЕ ХУЕТА!
ХУЕТА!
|
занедельный антипаттерн
Группа: Джедаи Карма: 60
Сообщений: 3522 Сила слова: 1.7
|
я по ходу не пойму ))
CTAPbIu_MABP, блин тебе надо их рисовать или не рисовать?
|
|
|
|
|
Записан
|
качество жизни обратно пропорционально количеству лени
|
|
|
|
phpdude ↓
|
 |
|
05 Сентябрь, 2010, 07:40:06 , спустя 10 минут 23 секунды
|
НЕ ХУЕТА!
ХУЕТА!
|
|
|
|