Мобильное приложение для Android: карты помещений, маршруты для прогулок
Я хочу отредактировать пользовательскую карту Google (потому что мне нужно добавить тротуары для прогулок) со всеми ее оригинальными функциями для кампуса колледжа, а также создать интерьер здания, содержащего классные комнаты с обнаружением нескольких этажей, чтобы я мог внедрить его в мобильное приложение, Можно ли это сделать? А с джаваскриптом? Я думаю, что в зависимости от того, куда они прибывают в кампус, используя GPS вместе с этим настроенным наложением карты Google, они могут дать здание и классную комнату, и он будет использовать предварительно созданный метод Google "Найти кратчайший маршрут" API Карт где-то там. Сначала мне нужно собрать это с Android, затем, возможно, для Iphone.
1 ответ
В нативном приложении Google Maps уже есть все функции, которые вы описываете.
- Google недавно выпустила картографирование в помещениях. Перейдите на http://maps.google.com/floorplans, чтобы загрузить планы этажей своих зданий.
- Используйте Google Map Maker, чтобы добавить пешеходные дорожки в ваш кампус.
Теперь любой желающий может использовать встроенное приложение "Карты", чтобы прокладывать маршруты между зданиями кампуса. ( Пример - обратите внимание, что маршрут ведет вас по дорожкам кампуса, а не по окружающим дорогам.)
Чтобы увидеть карты помещений в действии, используйте приложение "Карты" на своем Android, чтобы увеличить масштаб Ikea, или посмотрите это видео.
Если у вас есть приложение, из которого вы хотите запустить приложение "Карты", сделайте следующее:
Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("http://maps.google.com/maps?saddr=START_LOCATION&daddr=DESTINATION_LOCATION&dirflg=w"));
if (isAppInstalled("com.google.android.apps.maps")) {
intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
}
startActivity(intent);
// helper function to check if Maps is installed
private boolean isAppInstalled(String uri) {
PackageManager pm = getApplicationContext().getPackageManager();
boolean app_installed = false;
try {
pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
app_installed = true;
} catch (PackageManager.NameNotFoundException e) {
app_installed = false;
}
return app_installed;
}
(Код бесстыдно украден отсюда.)