Idioma (s) / Marco adecuado para el map mobile interactivo

Me han encargado crear una aplicación interactiva de maps en 2D para un set de edificios interconectados con varios pisos para dispositivos Android e iOS. La aplicación debería include una interfaz de Google Street View y, posiblemente, opciones de visualización modeladas en 3D.

Mi pregunta es con respecto a los mejores lenguajes de progtwigción o marco preexistente adecuado para esta tarea, ¿qué recomendarías? Tengo aproximadamente dos años para completar esta tarea, por lo que elegir otro idioma no sería un problema.

Características de la aplicación necesarias:

  • Mapa 2D interactivo de múltiples edificios y pisos.
  • Función de tipo Google Street View.
  • Pathfinding con funciones similares a Google Maps.
  • Compatibilidad con Android e iOS con Android como plataforma de desarrollo principal.

Características de la aplicación opcional:

  • Mapa 3D interactivo de múltiples edificios y pisos modelados por artista 3D.
  • Capacidad para adaptarse a la aplicación basada en el website.

Esta es una empresa absolutamente masiva, las características opcionales son solo eso: opcional. El proyecto es para una universidad, también puede sentarse en un gran pedestal de pantalla táctil, por lo que necesita ser estable y de bajo mantenimiento. Estoy preguntando mucho, lo sé.

Actualmente estoy de lado con C # / ++.

¿Qué piensan ustedes?

Muchas gracias.

Podría estar mucho mejor mirando su proyecto desde una perspectiva de desarrollo de contenido en lugar de desarrollo de aplicaciones.

Desarrolle sus maps y contenido 3D y publíquelos como documentos KML haciendo reference a los models COLLADA 3D.

A continuación, puede ver / probar utilizando visores de Google Maps y Google Earth existentes, incluidas las versiones mobilees (por ejemplo, http://www.google.com/mobile/earth/ ).

También hay forms de proporcionar vistas personalizadas de calles o superposiciones de Street View (por ejemplo, http://googlemapsmania.blogspot.com/2012/07/custom-street-view-tutorial.html )

Si las aplicaciones gratuitas existentes ya hacen un gran trabajo al dirigirse a los casos de uso en múltiples plataforms, entonces estarías desperdiciando tu time reinventando. Por otro lado, si realmente desea escribir una aplicación personalizada, probablemente querrá algún contenido personalizado y valga la pena que su contenido esté en un formatting "estándar", por lo que no perderá nada si comienza desarrollando el contenido en formattings compatibles con Google.

Para los maps interiores, le recomiendo encarecidamente que comience mirando el soporte de maps interiores que Google ha implementado.

http://maps.google.com/help/maps/floorplans/

Puede ayudar a poner en marcha una versión de Android con un esfuerzo muy bajo.

Si desea escribir la suya, necesita aprender tanto Java como el Objetivo C, o usar un middleware que se pueda portar entre las plataforms, como Xamarins

Si usa el middleware Xamarin, puede usar C #.