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

Ответить
Stormer
Сообщения: 39
Зарегистрирован: 13 сен 2013, 20:18

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

Сообщение Stormer » 04 июн 2014, 17:04

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

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

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

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

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

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

Сообщение altwin » 04 июн 2014, 19:19

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

Stormer
Сообщения: 39
Зарегистрирован: 13 сен 2013, 20:18

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

Сообщение Stormer » 05 июн 2014, 00:47

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

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

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

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

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

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

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

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

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

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

Сообщение KamiSempai » 05 июн 2014, 10:24

Советую, как вариант, рассмотреть один из 2D игровых движков. Там подобное реализуется на раз-два.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

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

Сообщение altwin » 05 июн 2014, 10:48

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

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

yanchumak
Сообщения: 31
Зарегистрирован: 19 май 2014, 10:50

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

Сообщение yanchumak » 05 июн 2014, 10:57

ключевое слово: тайлы

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

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

Сообщение KamiSempai » 05 июн 2014, 11:11

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

Каким образом такое реализовать?
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

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

Сообщение altwin » 05 июн 2014, 11:19

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

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

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

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

Сообщение KamiSempai » 05 июн 2014, 11:37

Не у всех такой большой словарный запас умных слов, как у нас с вами :D
Людям, иногда, сложно выразить свою мысль, особенно, если эта мысль касается области, в которой они не разбираются.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

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

Сообщение altwin » 05 июн 2014, 11:39

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

Stormer
Сообщения: 39
Зарегистрирован: 13 сен 2013, 20:18

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

Сообщение Stormer » 05 июн 2014, 13:01

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

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

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

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

Сообщение altwin » 05 июн 2014, 14:19

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

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

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

Аватара пользователя
Mikhail_dev
Сообщения: 2386
Зарегистрирован: 09 янв 2012, 14:45
Откуда: Самара

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

Сообщение Mikhail_dev » 05 июн 2014, 18:10

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

Аватара пользователя
altwin
Сообщения: 1951
Зарегистрирован: 13 ноя 2013, 14:46

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

Сообщение altwin » 06 июн 2014, 10:22

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

Аватара пользователя
LesliStr
Сообщения: 105
Зарегистрирован: 31 окт 2013, 09:31
Откуда: Минск

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

Сообщение LesliStr » 06 июн 2014, 10:49

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

0800009
Сообщения: 36
Зарегистрирован: 08 мар 2014, 20:40

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

Сообщение 0800009 » 28 сен 2014, 09:24

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

Ответить