Знаю, вопрос звучит слегка наивно и по-нубовски, но, как бы то ни было, такова постановка задачи.
Поручили мне разработать аналог Pokemon Go. Аналог, разумеется, урезанный, никаких интерактивных боев, просто в некотором месте разместить объекты, чтобы пользователь, смотря через камеру на это место, их видел, а по клику на объект он исчезал и шла запись в базу.
Коммерческой разработкой под Android не занимался.
По основному роду деятельности пишу под веб: ASP.NET WebForms/MVC. Опыт в десктопном программировании небольшой, но есть.
Сама Java после C# меня особо не пугает.
Серверную часть вижу как SqlServer + WebApi.
Организовать получение объекта и запись в базу схваченного объекта предполагаю через WebApi.
В Android покопался, набросать какую-нибудь форму, отправить http запросы - это все меня не смущает.
Собственно, вопросы:
- Как хранить координаты объекта в базе? Дело в том, что требуется еще объект на некоторой высоте размещать. Т е широты и долготы недостаточно. Что брать в качестве параметра высоты, на которой объект находится над землей (например, в окне дома)? Высоту над уровнем моря?
- Как организовать админку, чтобы эти объекты в нужных местах размещать? Получается, нужно чтобы по клику на видимую область в камере определялась широта-долгота и писалась в базу. Или можно все-таки не ходить лично специально по местам, а расставить покемонов на основе координат?
- Интересует именно специфика Android и Api работы с камерой.
Вот этот вопрос вообще темный лес, даже не знаю, как к нему подойти. Как в PG определяется при наведении камеры, что в этом месте должен быть покемон? Отправляется запрос на внешний сервер, что в области обзора камеры находится некоторый участок, диапазон широты-долготы, по которому он ищется в базе?
- Ну и каких-нибудь полезных ссылок киньте, плз, по API работы с камерой и ее взаимодействия с GEO позиционированием.
Вы задаёте вопрос по реализации п.2 классического примера с совой :)
1) Высота - да над уровнем моря, почитайте описание протокола GPS (NMEA 0183), вы же всёравно будете от него отталкиваться
2) Я вот не могу серьёзно ответить раз вы так ставите вопрос....да сейчас 21 век и чтобы записать координату в базу не нужно ходить ногами с навигатором, а можно прям руками через ваш любимый менеджер БД записать три цифры в базу и вуаля это будет отражение реального объекта на сетке координат. Яндекскарты, OSM и Googlemaps вам в руки чтобы не наугад тыкать...
дальше я уже вообще не могу ничего сказать проще реализовать задачу за вас :)
>>>да сейчас 21 век и чтобы записать координату в базу
Это понятно. Вопрос, как УЗНАТЬ координаты, не выходя из дома/офиса и не посещая лично те места, где надо разместить объект
Игорь: Да, широту и долготу. Но тут еще и высоту надо знать. Как я понимаю, в этом случае надо лично ходить по нужным местам. В любом случае, спасибо за ответ.
mletov: С высотой да, только вручную, общедоступных данных высоты с приемлемым качеством нет
но на самом деле вам это не нужно, вам нужно делать привязку объекта по данным с камеры и ограничением общей высоты с погрешностью 5-10м. (а эти данные уже можно найти в интернете, прямых ссылок не дам, но это уже легко гуглится)
в PG насколько я знаю много хаков связанных с позиционированием. например в помещении спутники почти не видны. во вторых местоположение GPS может скакать на десятки и сотни метров даже когда юзер стоит, тем более что телефоны и качество датчиков у всех отличается. поэтому в чистом виде по координатам GPS это будет не юзабельно.
PG по-моему активно используют датчики ускорения для определения перемещения на небольших расстояниях.
в общем гемороя там хватит, в лоб задача вряд ли решится, по крайней мере с таким же более менее приемлимым качеством.