Мне сложно совмещать геолокацию и возвышение в Картах Google. Мне нужно представить возвышение текущего местоположения. Кажется, что значения в переменной pos не эквивалентны event.latLng.Как совместить географию и высоту в Картах Google
Вот мой код пытается объединить геолокации и возвышение
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
// disableDefaultUI: true,
mapTypeId: google.maps.MapTypeId.SATELLITE,
zoom: 20
});
var elevator = new google.maps.ElevationService;
var infoWindow = new google.maps.InfoWindow({map: map});
// Try HTML5 geolocation.
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var pos = {
lat: position.coords.latitude,
lng: position.coords.longitude
};
displayLocationElevation(pos, elevator, infowindow);
}, function() {
handleLocationError(true, infoWindow, map.getCenter());
});
} else {
// Browser doesn't support Geolocation
handleLocationError(false, infoWindow, map.getCenter());
}
}
function handleLocationError(browserHasGeolocation, infoWindow, pos) {
infoWindow.setPosition(pos);
infoWindow.setContent(browserHasGeolocation ?
'Error: The Geolocation service failed.' :
'Error: Your browser doesn\'t support geolocation.');
}
function displayLocationElevation(location, elevator, infowindow) {
map.setCenter(location);
Initiate the location request
elevator.getElevationForLocations({
'locations': [location]
}, function(results, status) {
infowindow.setPosition(location);
if (status === google.maps.ElevationStatus.OK) {
// Retrieve the first result
if (results[0]) {
// Open the infowindow indicating the elevation at the clicked position.
infowindow.setContent('The elevation at this point <br>is ' +
results[0].elevation + ' meters.');
} else {
infowindow.setContent('No results found');
}
} else {
infowindow.setContent('Elevation service failed due to: ' + status);
}
});
}
UPDATE:, кажется, что переменная поз и event.latLng имеет разные значения. pos производит [Объект объекта], в то время как event.latLng производит (значение lat, длинное значение). Хотя использование pos.lat производит широту, то такую же, как pos.long для долготы. Все еще пытаясь понять это ...