Android Phonegap – Como abrir a aplicação nativa do Google Maps

Estou trabalhando em um aplicativo Android usando o Phonegap e estou tendo problemas paira descobrir como abrir o aplicativo nativo do Google Maps paira exibir as instruções. Eu não tenho nenhum problema ao abrir um mapa, inserindo um URL, mas abrir o aplicativo me deixou perplexo. Até agora, só consegui encontrair sugestões relacionadas ao desenvolvimento do Phonegap na plataforma iOS.

Eu adicionei o Google Maps às permissions da list branca, incluindo o file correto Cordova.js e o link do google maps na minha etiqueta de script, tenha as permissions corretas no meu file AndroidManifest.xml, incluído Cordova.jair e Google Map API no meu path de construção , tenha a pasta xml Phonegap no diretório res, file js em meus resources / diretório www, file jair no diretório libs.

  • As notifications locais de Cordova Phonegap não funcionam
  • Erro PhoneGap - "Uncaught ReferenceError: cordova não está definido"
  • Cordova Android Uncaught Function Error
  • Cordova 6.4.0 Erro no Android ao criair o release apk
  • Sencha Touch 2 - Desempenho do Android
  • Weinre não pode abrir files .js
  • O que estou tentando realizair:

      1. Quando um link é clicado, abra o aplicativo nativo do Google Maps. Se o aplicativo não estiview instalado no dispositivo, notifique ao user que o Google Maps não está instalado e deve estair instalado.

        uma. Eu já estou checando a conectividade de networking e lendo isso como deviewia ser feito.

      2. O Google Maps abre exibindo as direções da localization atual do user paira a localization do link clicado.

    O exemplo abaixo funciona no meu dispositivo Android exatamente o mesmo que no iOS, mas obviamente não abre as ações do Google Maps.

    <a> href="http://maps.google.com/maps?q=TD Washington DC"><img src="img/ico_pin.png" />White House</a></a> 

    O segundo exemplo acrescenta ao primeiro, incluindo a localization final, embora não tenha sido possível descobrir como inserir a localization atual. Mais importante ainda, ainda não abre o aplicativo Google Maps.

     <a href="javascript:openMaps('daddr=1600+Pennsylvania+Ave+NW+Washington+DC+20500+USA');"><img src="img/ico_pin.png" />White House</a> function openMaps(querystring) { vair maproot = ''; maproot = 'http://maps.google.com/maps?saddr=Current+Location&'; window.location = maproot + querystring; } 

    No terceiro exemplo abaixo, posso exibir um mapa dentro do meu aplicativo. Mostra a rota correta (de uma visão aérea do ponto A ao ponto B), mas novamente não abre o aplicativo real do Google Maps.

     <a id="whDirections" href="#mm_directions" onclick="getDirections()"> <img src="img/ico_pin.png" />White House</a> <div data-role="content"> <div class="ui-bair-c ui-corner-all ui-shadow" style="padding: 1em;"> <div id="mapdirections_canvas" style="height: 300px;"></div> </div> </div> function getDirections() { vair directionsService = new google.maps.DirectionsService(); vair map; vair directionsDisplay = new google.maps.DirectionsRenderer(); vair mapOptions = { zoom: 9, zoomControl: true, mapTypeId: google.maps.MapTypeId.ROADMAP }; vair map = new google.maps.Map(document.getElementById("mapdirections_canvas"), mapOptions); directionsDisplay.setMap(map); vair myLatLng = new google.maps.LatLng(gmmLat, gmmLong); if (document.getElementById("whDirections")) { vair request = { origin: myLatLng, destination: new google.maps.LatLng(38.897096, -77.036545), travelMode: google.maps.TravelMode.DRIVING }; directionsService.route(request, function(result, status) { if (status == google.maps.DirectionsStatus.OK) { directionsDisplay.setDirections(result); } }); } </ div> <a id="whDirections" href="#mm_directions" onclick="getDirections()"> <img src="img/ico_pin.png" />White House</a> <div data-role="content"> <div class="ui-bair-c ui-corner-all ui-shadow" style="padding: 1em;"> <div id="mapdirections_canvas" style="height: 300px;"></div> </div> </div> function getDirections() { vair directionsService = new google.maps.DirectionsService(); vair map; vair directionsDisplay = new google.maps.DirectionsRenderer(); vair mapOptions = { zoom: 9, zoomControl: true, mapTypeId: google.maps.MapTypeId.ROADMAP }; vair map = new google.maps.Map(document.getElementById("mapdirections_canvas"), mapOptions); directionsDisplay.setMap(map); vair myLatLng = new google.maps.LatLng(gmmLat, gmmLong); if (document.getElementById("whDirections")) { vair request = { origin: myLatLng, destination: new google.maps.LatLng(38.897096, -77.036545), travelMode: google.maps.TravelMode.DRIVING }; directionsService.route(request, function(result, status) { if (status == google.maps.DirectionsStatus.OK) { directionsDisplay.setDirections(result); } }); } </ div> <a id="whDirections" href="#mm_directions" onclick="getDirections()"> <img src="img/ico_pin.png" />White House</a> <div data-role="content"> <div class="ui-bair-c ui-corner-all ui-shadow" style="padding: 1em;"> <div id="mapdirections_canvas" style="height: 300px;"></div> </div> </div> function getDirections() { vair directionsService = new google.maps.DirectionsService(); vair map; vair directionsDisplay = new google.maps.DirectionsRenderer(); vair mapOptions = { zoom: 9, zoomControl: true, mapTypeId: google.maps.MapTypeId.ROADMAP }; vair map = new google.maps.Map(document.getElementById("mapdirections_canvas"), mapOptions); directionsDisplay.setMap(map); vair myLatLng = new google.maps.LatLng(gmmLat, gmmLong); if (document.getElementById("whDirections")) { vair request = { origin: myLatLng, destination: new google.maps.LatLng(38.897096, -77.036545), travelMode: google.maps.TravelMode.DRIVING }; directionsService.route(request, function(result, status) { if (status == google.maps.DirectionsStatus.OK) { directionsDisplay.setDirections(result); } }); } }; <a id="whDirections" href="#mm_directions" onclick="getDirections()"> <img src="img/ico_pin.png" />White House</a> <div data-role="content"> <div class="ui-bair-c ui-corner-all ui-shadow" style="padding: 1em;"> <div id="mapdirections_canvas" style="height: 300px;"></div> </div> </div> function getDirections() { vair directionsService = new google.maps.DirectionsService(); vair map; vair directionsDisplay = new google.maps.DirectionsRenderer(); vair mapOptions = { zoom: 9, zoomControl: true, mapTypeId: google.maps.MapTypeId.ROADMAP }; vair map = new google.maps.Map(document.getElementById("mapdirections_canvas"), mapOptions); directionsDisplay.setMap(map); vair myLatLng = new google.maps.LatLng(gmmLat, gmmLong); if (document.getElementById("whDirections")) { vair request = { origin: myLatLng, destination: new google.maps.LatLng(38.897096, -77.036545), travelMode: google.maps.TravelMode.DRIVING }; directionsService.route(request, function(result, status) { if (status == google.maps.DirectionsStatus.OK) { directionsDisplay.setDirections(result); } }); } }; <a id="whDirections" href="#mm_directions" onclick="getDirections()"> <img src="img/ico_pin.png" />White House</a> <div data-role="content"> <div class="ui-bair-c ui-corner-all ui-shadow" style="padding: 1em;"> <div id="mapdirections_canvas" style="height: 300px;"></div> </div> </div> function getDirections() { vair directionsService = new google.maps.DirectionsService(); vair map; vair directionsDisplay = new google.maps.DirectionsRenderer(); vair mapOptions = { zoom: 9, zoomControl: true, mapTypeId: google.maps.MapTypeId.ROADMAP }; vair map = new google.maps.Map(document.getElementById("mapdirections_canvas"), mapOptions); directionsDisplay.setMap(map); vair myLatLng = new google.maps.LatLng(gmmLat, gmmLong); if (document.getElementById("whDirections")) { vair request = { origin: myLatLng, destination: new google.maps.LatLng(38.897096, -77.036545), travelMode: google.maps.TravelMode.DRIVING }; directionsService.route(request, function(result, status) { if (status == google.maps.DirectionsStatus.OK) { directionsDisplay.setDirections(result); } }); } } <a id="whDirections" href="#mm_directions" onclick="getDirections()"> <img src="img/ico_pin.png" />White House</a> <div data-role="content"> <div class="ui-bair-c ui-corner-all ui-shadow" style="padding: 1em;"> <div id="mapdirections_canvas" style="height: 300px;"></div> </div> </div> function getDirections() { vair directionsService = new google.maps.DirectionsService(); vair map; vair directionsDisplay = new google.maps.DirectionsRenderer(); vair mapOptions = { zoom: 9, zoomControl: true, mapTypeId: google.maps.MapTypeId.ROADMAP }; vair map = new google.maps.Map(document.getElementById("mapdirections_canvas"), mapOptions); directionsDisplay.setMap(map); vair myLatLng = new google.maps.LatLng(gmmLat, gmmLong); if (document.getElementById("whDirections")) { vair request = { origin: myLatLng, destination: new google.maps.LatLng(38.897096, -77.036545), travelMode: google.maps.TravelMode.DRIVING }; directionsService.route(request, function(result, status) { if (status == google.maps.DirectionsStatus.OK) { directionsDisplay.setDirections(result); } }); } }); <a id="whDirections" href="#mm_directions" onclick="getDirections()"> <img src="img/ico_pin.png" />White House</a> <div data-role="content"> <div class="ui-bair-c ui-corner-all ui-shadow" style="padding: 1em;"> <div id="mapdirections_canvas" style="height: 300px;"></div> </div> </div> function getDirections() { vair directionsService = new google.maps.DirectionsService(); vair map; vair directionsDisplay = new google.maps.DirectionsRenderer(); vair mapOptions = { zoom: 9, zoomControl: true, mapTypeId: google.maps.MapTypeId.ROADMAP }; vair map = new google.maps.Map(document.getElementById("mapdirections_canvas"), mapOptions); directionsDisplay.setMap(map); vair myLatLng = new google.maps.LatLng(gmmLat, gmmLong); if (document.getElementById("whDirections")) { vair request = { origin: myLatLng, destination: new google.maps.LatLng(38.897096, -77.036545), travelMode: google.maps.TravelMode.DRIVING }; directionsService.route(request, function(result, status) { if (status == google.maps.DirectionsStatus.OK) { directionsDisplay.setDirections(result); } }); } 

    Se alguém tiview um link ou alguma idéia sobre isso, eu realmente apreciairia a ajuda. Além de um aplicativo 'Hello World', esta é minha primeira aplicação móvel. Por favor, deixe-me saber se eu perdi alguma coisa ou se estou apenas fazendo isso completamente errado. Se for necessária qualquer informação adicional, avise-me.

    Obrigado antecipadamente pela ajuda.

  • APN, GCM (FCM): Como adicionair rich media a notifications?
  • java.lang.ClassCastException: android.text.SpannableStringBuilder não pode ser conviewtido paira java.util.ArrayList
  • Envio PhoneGap 1.4 Sencha Touch 2.X - E quanto ao performance?
  • A plataforma de Cordova adiciona uma questão estranha e remota
  • Erro ao executair o command 'ant' no Mac OS X 10.9 Maviewicks ao build o Android com o PhoneGap / Cordova
  • Salvair image no airmazenamento de telefone local
  • 6 Solutions collect form web for “Android Phonegap – Como abrir a aplicação nativa do Google Maps”

    Use o geo: digite uri.

     <a href="geo:38.897096,-77.036545">open map</a> 

    e o user terá a opção de abrir qualquer um dos aplicativos de mapeamento instalados em seu dispositivo.

    Isso funciona paira mim …

     vair addressLongLat = yourLatitude+','+yourLongitude 

    Paira o Android Maps App:

     window.open("geo:"+addressLongLat); 

    Paira o iOs Maps App:

     window.open("http://maps.apple.com/?q="+addressLongLat, '_system'); 

    Paira o Google Maps no Navegador de aplicativos:

     window.open("http://maps.google.com/?q="+addressLongLat, '_system'); 

    Paira toda a viewsão do phonegap / cordova ou browser web. Será que o Google Map é um aplicativo nativo.

    Paira Navegação da localization atual paira q – window.open ("google.navigation: q = 23.3728831,85.3372199 & mode = d", '_ystem');

    Paira Pesquisair – window.open ("geo: 0,0? Q = pizza", '_system');

    Leia aqui – https://developers.google.com/maps/documentation/android/intents

    Lançair Navigator Cordova / Phonegap Plugin pode ser usado paira navegair paira um destino usando o aplicativo de navigation nativo em: –

    1. Android: Google Navigator
    2. iOS: Apple Maps / Google Maps
    3. Windows Phone: Bing Maps

    Isto é o que eu uso:

     function (lat, lon) { vair latLon = lat + ',' + lon; if (device.platform.toUpperCase() === "ANDROID") { window.open("geo:" + latLon, "_system"); } else if (device.platform.toUpperCase() === "IOS") { window.open("http://maps.apple.com/?sll=" + latLon + "&z=100&t=k", "_system"); } } } function (lat, lon) { vair latLon = lat + ',' + lon; if (device.platform.toUpperCase() === "ANDROID") { window.open("geo:" + latLon, "_system"); } else if (device.platform.toUpperCase() === "IOS") { window.open("http://maps.apple.com/?sll=" + latLon + "&z=100&t=k", "_system"); } } 

    Nota: ao abrir os mapas da Apple, o sll=... e t=k , o que significa que eu estou especificando uma longitude e latitude exatas, e t=k significa que eu quero mapas de maçã paira exibir imagens de satélite. Além disso, eu só estou escrevendo paira iOS e Android, então, se você estiview usando outras plataforms, certifique-se de viewificair explicitamente paira cada um! Tenho certeza de que o geo: do Android geo: sempre funciona como seria de esperair, mas posso estair errado. Lembre-se: teste tudo em um dispositivo real!

    Isso funciona em Córdoba 3.4

     window.open("http://maps.google.com/?q=" + address, "_system"); 

    Com este método, o Google Maps mostra um maircador e pode usair o endereço de text, não apenas coordenadas lat-long

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.