Вопрос об наложении Android - PullRequest
       4

Вопрос об наложении Android

0 голосов
/ 21 сентября 2010

Я занимаюсь разработкой картографического приложения для Android, и мне удалось внедрить в мой код учебник Google ItemizedOverlay.Я хорошо рисую свой маленький кружок на карте.

Однако я бы хотел пометить мой крошечный символ его заголовком - все время.Я собираюсь добавить несколько разных символов на карту, и возможность отображать их метки была бы БОЛЬШОЙ помощью.У меня работает метод onTap, но когда вы нажимаете на экран, он занимает весь экран - что не очень помогает.

Мне не удалось найти что-либо об этом в Интернете, поэтомуЯ не оптимистичен, но если у кого-то есть какие-либо предложения, это будет высоко оценено.

Ответы [ 2 ]

1 голос
/ 21 сентября 2010

Не уверен, что onTap имеет отношение к этому или что вы подразумеваете под "оно занимает весь экран", но я думаю, что для отображения ярлыков вам придется их нарисовать самостоятельно. Вы можете сделать это несколькими способами. Один из них состоит в том, чтобы переопределить метод ItemizedOverlay.draw напрямую, выполнить итерацию каждого из ваших GeoPoints и нарисовать заголовок непосредственно на Canvas с небольшим смещением к этому месту. Другой возможный способ - вернуть пользовательский маркер; вместо того, чтобы просто возвращать символ, вы можете создать Picture, нарисовав круг, а затем нарисовать текст рядом с ним, и тогда вы сможете обернуть его в PictureDrawable и использовать его в качестве маркера для наложения. пункт.

0 голосов
/ 23 сентября 2010

Мой метод onTap выглядит следующим образом:

protected boolean onTap (int index)
{
    OverlayItem item = mOverlays.get (index);
    AlertDialog.Builder dialog = new AlertDialog.Builder (mContext);

    dialog.setTitle (item.getTitle());
    dialog.setMessage (item.getSnippet());
    dialog.show();
    return true;
}

Вызывающее приложение проходит в своем контексте (this), когда оно создает Itemized Overlay.Я все еще не совсем уверен, что это значит, но я сохраняю переданный контекст в mContext и использую его в onTap ().Естественно, я не могу взять на себя ответственность за это, так как кто-то еще разместил в Интернете.Он отображает информацию об оверлее на экране, но (к сожалению, для меня) не так, как я доволен.

Я работаю над переопределением метода рисования, но это было сильно прервано ивсе еще на ранних стадиях.Я опубликую это здесь, если есть интерес.

R.

...