Вы не можете иметь код пользовательского интерфейса в фоновом режиме.Все, что работает в службе, выполняется в фоновом потоке, а не в потоке пользовательского интерфейса приложения, что означает, что вы не можете вносить в него изменения пользовательского интерфейса.Вот почему вы получаете сообщение об ошибке.
Если вы бездельничаете и думаете об этом, архитектурно, нет причин иметь код пользовательского интерфейса в фоновом сервисе.Рисование карты является чисто передним планом и перестает иметь значение, как только действие карты прекращается.Следовательно, нет необходимости иметь фоновый код в сервисе - весь оверлейный код принадлежит активности карты переднего плана.