Я работаю над приложением для Android, где мне нужно показать много офисов организации на карте. Я использую веб-сервис, чтобы перенести эти данные и заполнить маркеры мест на карте. Я использовал наложения MapActivity, MapView и Itemized, и все они работают хорошо.
Недостаток этого подхода заключается в том, что у меня нет дополнительных полезных опций меню, которые появляются, когда я использую встроенное в карту приложение. Я знаю, как вызывать и использовать Intent для запуска карт с защитными очками из приложения, но сталкиваюсь с некоторыми ограничениями, касающимися добавления нескольких маркеров с использованием данных моего местоположения. Я использую следующий код, чтобы добавить маркер места на определенной широте и долготе.
Intent searchAddress = new Intent(Intent.ACTION_VIEW,
Uri.parse("geo:0,0?q=48.19858,16.37164 (My Place)"));
startActivity(searchAddress);
У меня есть более одного раза данные о местоположении (широта, долгота и описание), которые мне нужно добавить в качестве маркера места или булавки на карте. Схема GEO URI, используемая для вызова карт во встроенном приложении, не дает достаточной гибкости, чтобы добавить более одного маркера. Ниже приведены возможные географические URI.
a) geo:latitude,longitude
b) geo:latitude,longitude?z=zoom
c) geo:0,0?q=my+street+address
d) geo:0,0?q=business+near+city
Ни одна из этих схем URI не позволяет мне добавлять несколько раз указатель местоположения или маркер на карте. Кто-нибудь может поделиться своим опытом о том, как они добавили несколько маркеров места в вызванное встроенное приложение карты, используя данные приложения?
Правда ли, что MapActivity является более эффективным решением для таких ситуаций? Я полагаю, что было бы лучше использовать встроенные приложения, предоставляя больше возможностей пользователю android и гибкости.