У меня есть класс User
, в котором у меня есть ArrayList
объектов Bar
. Я создаю кучу объектов OverlayItem
для своей Карты Google, используя этот ArrayList
, т.е. ArrayList
содержит широту, долготу, имя и т.д. Теперь я хочу иметь возможность использовать OverlayItem
и получать дополнительную информацию о конкретном баре, таком как адрес, имя владельца, URL-адрес веб-сайта и т.д. OverlayItem
содержит только широту, долготу, заголовок и фрагмент текста, т.е. явно недостаточно для информации, которую я хочу. Итак, как я могу сказать, что функция onTap()
, которая Bar
объект, конкретный OverlayItem
, который я нажимаю, соответствует?
Я не использовал этот API, но могу предложить некоторые общие рекомендации. Одним из вариантов было бы создать Map
, чтобы вы могли конвертировать ссылку OverlayItem
обратно в объект Bar
, из которого он был создан. В зависимости от того, как был предоставлен onTap
, может быть возможным доступ к внешним переменным внутри него, которые могли бы предоставить вам эту информацию без карты. Другой вариант может заключаться в подклассе OverlayItem
с вашей собственной версией, которая включает данные, которые вам нужны, при условии, что API позволяет вам создавать и передавать свои собственные OverlayItem
s.
int index
дляonTap()
для доступа к правильной панели, то есть вызвавUser.myBars.get(index)
, поскольку этотindex
очевидно, соответствует порядку, в которомOverlayItem
объектыOverlayItem
для баров.