Android Custom Map - PullRequest
       30

Android Custom Map

4 голосов
/ 26 октября 2011

Я занимаюсь разработкой внутренней системы позиционирования для Android. Мне нужно нарисовать индивидуальный план здания и наложить на него указатель.

В этом сценарии, какое программное обеспечение / API мне следует использовать для создания собственного плана этажа?

Заранее спасибо.

Ответы [ 3 ]

3 голосов
/ 26 октября 2011

Я недавно сделал план здания библиотеки как часть моей магистерской диссертации. Я остановился на простом пользовательском Drawable, который просто масштабировал Bitmap (план этажа), чтобы уместить его на экране, а затем нарисовал несколько полупрозрачных прямоугольников (книжных полок) поверх него. Мой макет имеет общий View с fill_parent для обоих направлений и получает пользовательский Drawable через setBackgroundDrawable() в Activity.onCreate().

Если у вас есть карты с высоким разрешением (больше, чем умещается в памяти приложения одним целым), вы хотите масштабировать или даже вращать, это будет большая работа. Я пытался использовать код приложения Google IO, упомянутый Рено в его ответе, пользовательские наложения Google Maps (не могу увеличить достаточно близко), автономный WebView (для «бесплатной» функции масштабирования) и даже обдумывал собственную плитку система рендеринга - в конце концов использование простого Bitmap было наименее хлопотным и удивительно хорошо работало для моего варианта использования.

Я бы очень заинтересовался решением, которое бы выполняло масштабируемый, вращающийся рендеринг на основе плиток, хотя:)

2 голосов
/ 26 октября 2011

Google сделал это для своего события ввода / вывода Google . Жаль, что они использовали JavaScript :( Я не очень хорош в этом.

Они загрузили map.js в MapFragment, который содержит WebView.

1 голос
/ 26 октября 2011

Компонент MapView предоставляет очень гибкий метод добавления пользовательских элементов любого вида на карту, называемый MapOverlays. Вы можете реализовать ItemizedOverlay и добавить элементы к нему и определить Drawables для элементов наложения на этом наложении. После того, как вы зарегистрировали наложение в MapView, представление позаботится о том, когда рисовать ваши элементы и где на экране.

Для получения дополнительной информации и учебника см. http://developer.android.com/resources/tutorials/views/hello-mapview.html

...