This is what I do and works ;)
$scope.centerOnMe= function(){
$scope.positions = [];
$ionicLoading.show({
template: 'Obteniendo localización...'
});
navigator.geolocation.getCurrentPosition(function(position) {
var pos = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
$scope.positions.push({lat: pos.k,lng: pos.B});
console.log(pos);
$scope.map.setCenter(pos);
$ionicLoading.hide();
var directionsDisplay = new google.maps.DirectionsRenderer();;
var directionsService = new google.maps.DirectionsService();
console.log($scope.map);
directionsDisplay.setMap($scope.map);
function calcRoute() {
var start = "37.891586,-4.7844853";
var end = pos.k + "," + pos.B;
var request = {
origin: start,
destination: end,
optimizeWaypoints: true,
travelMode: google.maps.TravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
console.log('enter!');
}
});
}
calcRoute();
});