Я пытаюсь создать проект 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();