2012-01-31 14 views
5

Quiero editar un mapa personalizado de Google (porque necesito agregar aceras para caminar) con toda su funcionalidad original para un campus universitario y también crear el interior del edificio que contiene aulas con detección de piso múltiple para que pueda implementarlo en una aplicación móvil. Se puede hacer esto? Y con Javascript? Pienso que según el lugar al que lleguen en el campus utilizando el GPS junto con esta superposición personalizada de mapas de Google, pueden proporcionar el edificio y el aula y utilizarán el método preinstalado de la API de Google Maps para "encontrar la ruta más corta". Primero necesito construir esto con Android, luego posiblemente con Iphone.Aplicación móvil con Android: mapas interiores, indicaciones para caminar

Respuesta

8

La aplicación nativa de Google Maps ya tiene todas las funcionalidades que usted describe.

Ahora cualquiera puede usar su aplicación integrada de Maps para obtener indicaciones para caminar entre los edificios del campus. (Example - observe que la ruta que lleva a través de los pasillos del campus, no a lo largo de los caminos de los alrededores.)

Para ver los mapas de interiores en acción, utilizar la aplicación Maps en tu Android para ampliar una Ikea o echar un vistazo a this video .

Si tienes una aplicación que le gustaría lanzar la aplicación Mapas de, hacer esto:

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; 
} 

(Código robado descaradamente de here.)

Cuestiones relacionadas