Страница 1 из 1

Как сделать подобие гугл-карты с помощью своей текстуры?

Добавлено: 04 июн 2014, 17:04
Stormer
В общем мне нужно следующее: у меня есть очень большая картинка, которая представляет из себя прямоугольный участок карты. Эту картинку нужно уметь приближать - т.е. как фото (до определенных пределов наверное).

Также нужно как-то получить доступ к так называемым координатам этой увеличиваемой картинки - у меня будет LocationManager, который будет отслеживать моё местоположение. Если моё местоположение попадает на участок, который представляет из себя картинка, то правильно отобразить это местоположение на ней независимо от того, увеличена картинка или нет (т.е. накладывать какой-то объект-рисунок на неё) .

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

Что использовать, есть советы?

Re: Как сделать подобие гугл-карты с помощью своей текстуры?

Добавлено: 04 июн 2014, 19:19
altwin
Для начала стоит разобраться в том, чем картинка отличается от карты. Для того, чтобы
как-то получить доступ к так называемым координатам этой увеличиваемой картинки
как минимум эта увеличиваемая картинка должна содержать те самые "так называемые координаты", в общем вы сами то понимаете какая это чушь?

Re: Как сделать подобие гугл-карты с помощью своей текстуры?

Добавлено: 05 июн 2014, 00:47
Stormer
altwin писал(а):Для начала стоит разобраться в том, чем картинка отличается от карты. Для того, чтобы
как-то получить доступ к так называемым координатам этой увеличиваемой картинки
как минимум эта увеличиваемая картинка должна содержать те самые "так называемые координаты", в общем вы сами то понимаете какая это чушь?
Вроде итак просто объяснил, а всё равно не понятно? Ок, попытаюсь еще раз на примере...

У вас есть, допустим, парк. Пусть он будет прямоугольной формы. 1 на 2 км. Соответственно, у каждого угла есть свои координаты. Далее, в гугл мапс если смотреть этот парк, то это будет какой-то участок гугл мапс. Карта гугл - это простыми словами картинка, которая детализируется по мере приближения.

Так вот мне эту картинку надо заменить на свою собственную картинку, например jpg/png больших размеров. На которой этот парк был бы красиво нарисован, а не просто в форме карты.

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

Какие варианты я вижу:

1) Использовать google maps и как-то ограничивать область обзора, при этом накладывая текстуру.

2) (То, что вы не поняли) Создавать какой-то свой элемент в виде такой карты-картинки, а также иметь возможность отобразить моё местоположение ИМЕННО НА НЁМ. А это значит, что я должен, получая свои реальные координаты, преобразовывать их в координаты относительно этой карты-картинки и добавлять на неё какую-нибудь метку моего местоположения. А также эта картинка должна уметь растягивать и сужаться так же, как умеет гугл мапс. И мои координаты должны на ней при этом сужении или разужении оставаться правильными. Вот, что я имел в виду.

Надеюсь так-то понятнее? Тут уж вроде любой должен понять.

Re: Как сделать подобие гугл-карты с помощью своей текстуры?

Добавлено: 05 июн 2014, 10:24
KamiSempai
Советую, как вариант, рассмотреть один из 2D игровых движков. Там подобное реализуется на раз-два.

Re: Как сделать подобие гугл-карты с помощью своей текстуры?

Добавлено: 05 июн 2014, 10:48
altwin
Stormer писал(а):
2) (То, что вы не поняли) Создавать какой-то свой элемент в виде такой карты-картинки, а также иметь возможность отобразить моё местоположение ИМЕННО НА НЁМ. А это значит, что я должен, получая свои реальные координаты, преобразовывать их в координаты относительно этой карты-картинки и добавлять на неё какую-нибудь метку моего местоположения. А также эта картинка должна уметь растягивать и сужаться так же, как умеет гугл мапс. И мои координаты должны на ней при этом сужении или разужении оставаться правильными. Вот, что я имел в виду.

Надеюсь так-то понятнее? Тут уж вроде любой должен понять.
&nbspЯ повторю вопрос, вы понимаете чем отличается карта от картинки? Нет никакой проблемы в том, чтобы края картинки взять за нулевые точки при расчете координат, как собственно и никаких сложностей с тем, чтобы составить матрицу отношений координат с карты на эту картинку, ровно также, как совершенно элементарно(но нудно и много писать...) сделать пересчет координат при увеличении/уменьшении размера как карты, так и картинки. Вопрос заключается в другом, карта состоит не просто из изображения, а из огромного числа набора изображений(очень и очень грубо и так нельзя говорить, но всеже...), т.е. когда вы увеличиваете или уменьшаете ее объекты добавляются либо удаляются, или же просто меняется их масштаб. Вы безусловно можете взять качественную картинку и просто увеличить/уменьшить ее с помощью игровых движков, но вопрос в том, что оно вам даст? Как минимум вам нужно проверять результат, помечать объекты и т.д. и все это вы планируете руками забивать и просчитывать координаты? Это нереально даже для карты одного города в пределах которого вы будете показывать положение. Да и элементарно вы представляете себе размер базы данных тех же гуглокарт?
&nbsp Собственно вся суть моего вопроса сводилась к тому, почему вас не устраивается ваш же первый варриант с простой обрезкой карты? Кто мешает переключиться на суптник и просто обрезать картинку?
P.S. и всетаки вы можете показать пример того, о ем говорите.. мне очень интересно, где вы увидели, что картинка используется с целью отображения координат с карты? Или это всетаки ваша личная идея... :?:

Re: Как сделать подобие гугл-карты с помощью своей текстуры?

Добавлено: 05 июн 2014, 10:57
yanchumak
ключевое слово: тайлы

Re: Как сделать подобие гугл-карты с помощью своей текстуры?

Добавлено: 05 июн 2014, 11:11
KamiSempai
altwin писал(а):Собственно вся суть моего вопроса сводилась к тому, почему вас не устраивается ваш же первый варриант с простой обрезкой карты? Кто мешает переключиться на суптник и просто обрезать картинку?
Коллега, вы слишком узко мыслите.
Привожу пример: Я владелец парка аттракционов и хочу выпустить для него приложение-карту где также можно было увидеть свое текущее местоположение. Карта своя собственная, не гугл-мапс, над ней работали художники, что бы она выглядела как можно более привлекательней.

Каким образом такое реализовать?

Re: Как сделать подобие гугл-карты с помощью своей текстуры?

Добавлено: 05 июн 2014, 11:19
altwin
KamiSempai писал(а):
altwin писал(а):Собственно вся суть моего вопроса сводилась к тому, почему вас не устраивается ваш же первый варриант с простой обрезкой карты? Кто мешает переключиться на суптник и просто обрезать картинку?
Коллега, вы слишком узко мыслите.
Привожу пример: Я владелец парка аттракционов и хочу выпустить для него приложение-карту где также можно было увидеть свое текущее местоположение. Карта своя собственная, не гугл-мапс, над ней работали художники, что бы она выглядела как можно более привлекательней.

Каким образом такое реализовать?
Своя собственная карта, как минимум подразумевает наличие движка выполняющего отрисовку и каждый объект имеет свой уникальный id. Ваша карта на сколько я понимаю - это openstreetmap на которой вы добавили собственные POI детализацию которых и рисовали ваши художники? Я опять туплю наверно но объясните пожалуйста валенку какой это вообще отношение имеет к увеличению и уменьшению картинки и переносу на нее координаты?
P.S. я повторю вопрос, чем карта отличается от bitmap?
На сколько я понимаю, bitmap должно быть много, т.е. один layout и куча разных привязанных к объектам с карты(тут и нужны координаты их), задача лишь в том, чтобы определить как эти bitmap распологать на layout при изменении размера, а вопрос с координатами решается уже самим их наличием, поскольку база содержит не только информацию о их наличии, но и координаты на картах вендора. Нет ну конечно можно просто добавить одну детальную картинку и спомощью нейронных сетей разрулить все образы, прям как в instagram привязать координаты, но почему тогда просто к google карте не привязать 3D изображения объектов по координатам, суть вся в том, что реализаций может быть масса, а я по прежнему вообще не осознаю задачи и наличия ресурсов в человекочасах... И потмоу отвечаю человеку задавшему вопрос на форуме startandroid... -это нереально ;)

Re: Как сделать подобие гугл-карты с помощью своей текстуры?

Добавлено: 05 июн 2014, 11:37
KamiSempai
Не у всех такой большой словарный запас умных слов, как у нас с вами :D
Людям, иногда, сложно выразить свою мысль, особенно, если эта мысль касается области, в которой они не разбираются.

Re: Как сделать подобие гугл-карты с помощью своей текстуры?

Добавлено: 05 июн 2014, 11:39
altwin
KamiSempai писал(а):Не у всех такой большой словарный запас умных слов, как у нас с вами :D
Людям, иногда, сложно выразить свою мысль, особенно, если эта мысль касается области, в которой они не разбираются.
И потому я тут и отвечаю человеку задавшему вопрос на форуме startandroid... -это нереально ;)

Re: Как сделать подобие гугл-карты с помощью своей текстуры?

Добавлено: 05 июн 2014, 13:01
Stormer
yanchumak писал(а):ключевое слово: тайлы
Вот реальное спасибо. Человек в 3 словах пояснил, что искать.
Вы безусловно можете взять качественную картинку и просто увеличить/уменьшить ее с помощью игровых движков, но вопрос в том, что оно вам даст?
Да, именно это и надо. Оно даст мне то, что нужно.
Как минимум вам нужно проверять результат, помечать объекты и т.д. и все это вы планируете руками забивать и просчитывать координаты? Это нереально даже для карты одного города в пределах которого вы будете показывать положение.
Ну это я уже посмотрю сам, насколько трудоемко. + у меня парк, а не город.
Мой вопрос был в том, что использовать. Обычную картинку, кинутую в layout, не растянешь. Мне же нужно, чтобы её можно было растягивать-сужать(уже несколько раз написал), и при этом чтобы был доступ к координатам её точек (с пересчётом я тоже сам разберусь). Считайте самое первое и основное: как закинуть картинку на экран, чтобы её можно было растягивать? Просто? Просто.
И потому я тут и отвечаю человеку задавшему вопрос на форуме startandroid... -это нереально ;)
Если не смогли понять, что мне было нужно (вот человек сказал "тайлы" - сразу стало понятно, куда смотреть), не стоит судить о том, в чём я разбираюсь, а в чём нет. А про сложную геометрию в google maps я тоже очень давно в курсе. Я ж сказал, что "картинка увеличивается" - это в двух словах, чтобы ясно было, чего мне надо.

Ладно, всем спасибо. Ключевое слово я получил. А уж о способах я сам подумаю.

Re: Как сделать подобие гугл-карты с помощью своей текстуры?

Добавлено: 05 июн 2014, 14:19
altwin
Stormer писал(а): Если не смогли понять, что мне было нужно (вот человек сказал "тайлы" - сразу стало понятно, куда смотреть), не стоит судить о том, в чём я разбираюсь, а в чём нет. А про сложную геометрию в google maps я тоже очень давно в курсе. Я ж сказал, что "картинка увеличивается" - это в двух словах, чтобы ясно было, чего мне надо.

Ладно, всем спасибо. Ключевое слово я получил. А уж о способах я сам подумаю.
Не нужно принимать на свой счет, имел ввиду я не ваши личные знания, а возможности одного человека. Очень надеюсь на ваш успех и на то, что поделитесь результатом, интересно на это посмотреть в работе.

P.S. я бы всеравно предпочел подобное: https://developers.arcgis.com/android/ потому интересно сравнить результат.

Re: Как сделать подобие гугл-карты с помощью своей текстуры?

Добавлено: 05 июн 2014, 18:10
Mikhail_dev
Со знакомым разговаривал сейчас по этому вопросу. У них есть своя карта-полигон по страйкболлу.
что нужно чтобы свою карту сделать? у вас ведь ваша карта для страйкболла это просто одна картинка?
[17:54:30] @!!ex: да
[17:55:09] @!!ex: картинка строго на север ориентированная и две точки на ней с указанием GPS координат
Так что это реально. Вопрос только вот в чем. На сколько большая картинка? И нужно понимать что приближение будет приближать просто картинку, там не будет такого эффекта как с картами, где появляются новые картинки (тайлы).

Re: Как сделать подобие гугл-карты с помощью своей текстуры?

Добавлено: 06 июн 2014, 10:22
altwin
Mikhail_dev писал(а):Со знакомым разговаривал сейчас по этому вопросу. У них есть своя карта-полигон по страйкболлу.
что нужно чтобы свою карту сделать? у вас ведь ваша карта для страйкболла это просто одна картинка?
[17:54:30] @!!ex: да
[17:55:09] @!!ex: картинка строго на север ориентированная и две точки на ней с указанием GPS координат
Так что это реально. Вопрос только вот в чем. На сколько большая картинка? И нужно понимать что приближение будет приближать просто картинку, там не будет такого эффекта как с картами, где появляются новые картинки (тайлы).
В том то и дело я прекрасно понимаю, что это возможно - возможно все, вопрос в том у меня, что я хочу посмотреть на результат и его качество... вот пример того, что я понимаю - http://blogs.esri.com/esri/arcgis/2014/ ... r-android/ (тут есть рабочий пример в конце статьи ссылка), последнее время меня дико раздражает android market качетсвом своих приложений и я лично вижу там 90% откровенного мусора, и в первую очередь я хочу понять, зачем его плодить, когда есть адекватные решения задач. Я не спорю с тем, что бывает все. но хотелось бы посмотреть и сравнить.

Re: Как сделать подобие гугл-карты с помощью своей текстуры?

Добавлено: 06 июн 2014, 10:49
LesliStr
Наверное, что бы было меньше мусора, надо понять что человек хочет и подсказать ему как это сделать лучше. А статья интересная, спасибо за ссылку.

Re: Как сделать подобие гугл-карты с помощью своей текстуры?

Добавлено: 28 сен 2014, 09:24
0800009
Своя карта интегрированная в карты гугл
Приложение будет тянуть тайлы с гугла
и тогда надо будет как-то подменять их своими каждый раз программно.
Если оффлайн карты можно просто их подменить и приложение надо будет скачивать с картами
Если нужно просто изобразить какие-то объекты
надо просто добавить слой с этими объектами
и они будут привязаны к гео координатам
и добавить еще один слой со своей однородной текстурой
Прошу прощенье за мой французский :D