2015-05-13 4 views
1

На данный момент у меня есть карта, которая может указывать направления от предустановленной точки A до предустановленной точки B, но я хотел бы иметь направление от местоположения пользователя до заданной точки, как в этом примере: http://jquery-ui-map.googlecode.com/svn/trunk/demos/jquery-google-maps-mobile.html#directions_mapИонные и угловые карты Google Проложить маршрут

Мой код контроллера:

.controller('ContactCtrl', function($scope, $document, $ionicLoading) { 
// map object 
$scope.map = { 
control: {}, 
center: { 
    latitude: 51.51139, 
    longitude: -0.2237284 
}, 
zoom: 14 
}; 

// marker object 
$scope.marker = { 
center: { 
    latitude: 51.51139, 
    longitude: -0.2237284 
} 
} 

// instantiate google map objects for directions 

var directionsDisplay = new google.maps.DirectionsRenderer(); 
var directionsService = new google.maps.DirectionsService(); 
var geocoder = new google.maps.Geocoder(); 


// directions object -- with defaults 
$scope.directions = { 
origin: "this shoud be user ", 
destination: "White City, London W12 7RQ", 
showList: false 
} 

// get directions using google maps api 
$scope.getDirections = function() { 
    var request = { 
    origin: $scope.directions.origin, 
    destination: $scope.directions.destination, 
    travelMode: google.maps.DirectionsTravelMode.DRIVING 
}; 
    directionsService.route(request, function (response, status) { 
    if (status === google.maps.DirectionsStatus.OK) { 
    directionsDisplay.setDirections(response); 
    directionsDisplay.setMap($scope.map.control.getGMap()); 
    directionsDisplay.setPanel(document.getElementById('directionsList')); 
    $scope.directions.showList = true; 
    } else { 
    alert('Google route unsuccesfull!'); 
    } 
    }); 
} 
}) 

Любые идеи?

+0

Что вы спрашиваете? Вам нужен такой интерфейс? или вы хотите показать путевые точки, как в примере? Более конкретно. Кроме того, если у вас уже есть пример, какие «идеи» - это те, которые вы ищете? – KayAnn

+0

Спасибо за ваши наблюдения. В основном то, что им нужно, - это отобразить карту, которая выиграла т, даст вам направление из двух предустановленных точек, но вместо этого найдет пользователя (точка A) и рассчитает маршрут до заданной точки (B). Мне неинтересно в том же интерфейсе. –

ответ

0

Перед началом направления обслуживания, получить местоположение пользователя, как это:

$scope.centerOnMe = function() { 
 
    if (!$scope.map) { 
 
    return; 
 
    } 
 

 
    $scope.loading = $ionicLoading.show({ 
 
    content: 'Getting current location...', 
 
    }); 
 

 
    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(); 
 
    }); 
 
};

Тогда доступ к хранилищу, вы только что получил в запросе направления, как:

// directions object -- with defaults 
 
$scope.directions = 
 
    origin: pos.k + "," + pos.B, 
 
    destination: "White City, London W12 7RQ", 
 
    showList: false 
 
}

+0

Благодарим вас за ответ .. для некоторых reasone я не могу реализовать ваше предложение в своем коде. Это код, который я создал: http://codepen.io/anon/pen/wagRLj Любые советы? –

Смежные вопросы