Google Maps, nenhuma opção para iniciar a navegação, só antevisão está lá
na minha aplicação, estou a iniciar a navegação Google com a ajuda de seguir o conjunto de código.
String uri = "http://maps.google.com/maps?saddr="+ gpsLatitude
+ "," + gpsLongitude
+ "&daddr="
+ updateAcceptedOfferDetailsData.getDestinationLat()+","+updateAcceptedOfferDetailsData.getDestinationLon();
Intent intent = new Intent(android.content.Intent.ACTION_VIEW,
Uri.parse(uri));
intent.setClassName("com.google.android.apps.maps",
"com.google.android.maps.MapsActivity");
startActivity(intent);
estou a passar a fonte Lat/GNL e o Destino Lat / GNL dos respectivos endereços.
Problema:- Aqui, o meu problema é quando a Navegação abre-se o Ecrã não há nenhuma opção para "Iniciar", ao invés de há outra opção "pré-Visualização", Esse problema não acontece em todos os lugares que ele funciona muito bem para alguns lugares, mas não para todos. Posso saber o quê? toda esta confusão é??
Obrigado.4 answers
Quando procura um local usando google.com ou o aplicativo google, em seguida, toque no botão Instruções, os pontos de início e final são passados para o aplicativo google maps. Quando você seleciona a rota e só vê a opção de antevisão, é porque google.com/app passou um conjunto inicial de Coordenadas para a aplicação maps, para que o seu pedido ao google maps para fornecer direções entre dois pontos, não a sua localização atual para um ponto. Por isso, não há volta a dar. Basta tocar no campo inicial e seleccionar a localização actual, bam."
Para lançar a navegação por turnos, Toque no botão iniciar a navegação representado por um símbolo na parte inferior direita do ecrã. Quando A Navegação não está disponível , o ícone irá aparecer como uma seta de antevisão, e você poderá ver as direcções passo a passo.
A única sugestão que eu seria, de alguma forma, verificar se há ou não a navegação está de fato disponível para o percurso antes de passar para a aplicação mapas, e se não, em seguida, exibir um prompt para o usuário, mas eu não sei o android API bem o suficiente para ser de alguma ajuda aqui.
Uma lista de países e territórios apoiados está disponível aqui.
Espero que isto ajude.Naquele momento, Glympse vem ao meu uso e é uma abordagem muito eficaz ao lidar com estes tipos de cenários baseados em locais em tempo real. Aqui está um código de implementação:
GTicketLite ticket = LiteFactory.createTicket(3600000, "Going home!", null);
// Set flags that adjust the presentation of the Glympse Send Wizard.
// These can enable/disable fields in the wizard screen.
final int WIZARD_FLAGS
= LC.SEND_WIZARD_INVITES_EDITABLE
| LC.SEND_WIZARD_MESSAGE_EDITABLE
| LC.SEND_WIZARD_DESTINATION_EDITABLE
| LC.SEND_WIZARD_TIME_EDITABLE;
// Launches the wizard which will send the Glympse
GGlympseLite glympse = GlympseLiteWrapper.instance().getGlympse();
glympse.sendTicket(ticket, WIZARD_FLAGS);
Todo o Android SDK é dado através do site e o seu procedimento passo a passo é também dado, tenta e diz - me se te ajudou.
Obrigado.