Android Phonegap - Как открыть собственное приложение Google Maps

Я работаю над приложением Android с помощью Phonegap и не могу понять, как открыть собственное приложение Google Maps для отображения направлений. У меня нет проблем с открытием карты путем вставки URL, но открытие приложения поставило меня в тупик. Пока что мне удалось найти только предложения, связанные с Phonegap, для разработки на платформе iOS.

Я добавил Карты Google в разрешения белого списка, включая правильный файл Cordova.js и ссылку на карты Google в теге скрипта, у меня есть правильные разрешения в моем файле AndroidManifest.xml, включая Cordova.jar и Google Map API в моем пути сборки. У меня есть папка Phonegap xml в каталоге res, js-файл в моем каталоге assets / www, jar-файл в каталоге libs.

Чего я пытаюсь достичь:

1. При нажатии на ссылку откройте собственное приложение Google Maps. Если приложение не установлено на устройстве, уведомите пользователя, что Карты Google не установлены и должны быть установлены.
а. Я уже проверяю сетевое подключение и обрабатываю его, как и должно быть.2. Откроется Google Maps с указанием направлений от текущего местоположения пользователя до местоположения, по которому нажата ссылка.

Приведенный ниже пример работает на моем устройстве Android точно так же, как на iOS, но, очевидно, не открывает действия приложения Google Maps.

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

Второй пример дополняет первый, включая конечное местоположение, хотя я не смог понять, как вставить текущее местоположение. Самое главное, что он все еще не открывает приложение 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) {
    var maproot = '';
    maproot = 'http://maps.google.com/maps?saddr=Current+Location&';
    window.location = maproot + querystring;
}

В третьем примере ниже я могу отобразить карту в своем приложении. Он действительно показывает правильный маршрут (из вида сверху из точки A в точку B), но опять-таки не открывает настоящее приложение 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-bar-c ui-corner-all ui-shadow" style="padding: 1em;">
        <div id="mapdirections_canvas" style="height: 300px;"></div>
    </div>
</div>

function getDirections() {
    var directionsService = new google.maps.DirectionsService();
    var map;
    var directionsDisplay = new google.maps.DirectionsRenderer();
    var mapOptions = {
        zoom: 9,
        zoomControl: true,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    var map = new google.maps.Map(document.getElementById("mapdirections_canvas"), mapOptions);
    directionsDisplay.setMap(map);

    var myLatLng = new google.maps.LatLng(gmmLat, gmmLong);
    if (document.getElementById("whDirections")) {
        var 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); 
        }
    });
}

Если у кого-то есть ссылка или идея на это, я был бы очень признателен за помощь. Помимо приложения «Hello World», это мое первое мобильное приложение. Пожалуйста, дайте мне знать, если я что-то пропустил или я просто делаю это совершенно неправильно. Если требуется дополнительная информация, пожалуйста, дайте мне знать.

Заранее спасибо за помощь.

Ответы на вопрос(6)

Ваш ответ на вопрос