Карты Google: ReferenceError: Google не определен в приложении Cordova Android - PullRequest
0 голосов
/ 18 октября 2019

Я пытаюсь создать проект cordova, который отмечает некоторые местоположения на карте и получает расстояние между выбранным местоположением и текущим местоположением пользователя.

Я использовал cordova-plugin-googlemaps для отображенияGoogle Map и использовал cordova-plugin-googlemaps и для получения расстояния между выбранным местоположением и текущим местоположением пользователя, я использовал код от Служба матрицы расстояния Google Map

IЯ получаю ReferenceError: Google не определен , когда я запускаю свое приложение cordova в android device, но оно нормально работает в browser

Я определил карту Googleкак это>

......
......

plugin.google.maps.environment.setEnv({
   'API_KEY_FOR_BROWSER_RELEASE': config.GOOGLE_MAP_API_KEY,
   'API_KEY_FOR_BROWSER_DEBUG': config.GOOGLE_MAP_API_KEY
});
initializeGMap(currentLat, currentLng);

......
......


Служба матрицы расстояния карты


......
......

function showNearestROs() {
        mapData.forEach(roData => {
            var coordinates = roData.coordinates.substring(1, roData.coordinates.length).substring(0, roData.coordinates.length - 2).split(',');
            var destination = {
                lat: parseFloat(coordinates[0].trim()),
                lng: parseFloat(coordinates[1].trim()),
            };
            origin = {
                lat: parseFloat(localStorage.getItem("currentLat").trim()),
                lng: parseFloat(localStorage.getItem("currentLng").trim()),
            };
            if (roData.status === 1) {
                calculateRoadMapDistance(origin, destination, roData);
            } else {
                console.log("Charging station unavailable");
            }
        });
    }

    function calculateRoadMapDistance(origin, destination, roData) {

        var service = new google.maps.DistanceMatrixService();

        service.getDistanceMatrix({
            origins: [origin],
            destinations: [destination],
            travelMode: 'DRIVING',
            unitSystem: google.maps.UnitSystem.METRIC,
            // unitSystem: google.maps.UnitSystem.IMPERIAL,

        }, function (response, status) {
            if (status !== 'OK') {
                console.log('Error was: ' + status);
            } else {

                var travelInfo = response.rows[0].elements[0]

                if (travelInfo.status == 'OK') {
                    roMap.push({
                        'distance': parseFloat(travelInfo.distance.text.split(" ")[0].replace(/,/g, '')),
                        'duration': travelInfo.duration.text,
                        'data': roData,
                    });
                } else {
                    console.log("error = ", travelInfo.status);
                }
            }
        });
    }

, но я получаю ошибку в var service = new google.maps.DistanceMatrixService();

...