Как установить порядковый номер на изображении карты - PullRequest
5 голосов
/ 04 августа 2011

Я делаю картографическое приложение, в котором у меня есть 20 ресторанов, и я хочу показать все рестораны на карте, используя оверлейный пин. Теперь моя настоящая проблема заключается в том, что я хочу показать индексный номер на каждом булавке (например, если 20 булавоктам, все пин-коды должны быть с индексами № 1,2,3, которые представляют ресторан № из списка).Может ли кто-нибудь сказать мне, как я могу поставить индексный номер на одном изображении булавки ..? Я хочу использовать то же изображение для наложения

Ответы [ 2 ]

3 голосов
/ 06 сентября 2011

Это факт, который я обнаружил позже в моем проекте: MapView на самом деле ViewGroup ( также упоминается здесь ). Таким образом, вместо использования сложного наложения и прикрепления рисованных объектов, вы можете просто создать кнопку (или текстовое представление, или какой-то вложенный макет, или все, что вы хотите отобразить над картой), назначить ему экземпляр MapView.LayoutParams и добавить его до MapView.

В коде:

// Create the overlay pin
View overlayPin = getLayoutInflater().inflate(R.layout.overlay_pin, null);
// Number it according to your question, e.g.
((TextView)(overlayPin.findViewById(R.id.overlay_text))).setText("1"); 

Допустим, вы хотите поместить булавку в географические координаты -60, 30.

// Set a layout params to the pin.
overlayPin.setLayoutParams(new MapView.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, new GeoPoint(-60000000, 30000000), MapView.LayoutParams.BOTTOM_CENTER);
// Add the pin to the map
mapView.addView(overlayPin);

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

0 голосов
/ 06 сентября 2011

Вам необходимо расширить класс drawable и переопределить метод onDraw.В этом вы можете использовать canvas.drawText, чтобы написать свой номер на булавке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...