Мобильное приложение для 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;
}

(Код бесстыдно украден отсюда.)

Другие вопросы по тегам