3

我正在使用带有 IonicFramework 和 ng-map 的 Angularjs。我已阅读此处的所有文档(链接),但我没有找到如何向用户展示将用户当前位置转到另一个位置的最佳方式(或简单方式)。

我也读过这个这个,但我想使用角度。

4

2 回答 2

3

这就是我所做的工作;)

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


    });
于 2014-11-20T11:05:52.803 回答
2

我会尝试 angular-ui-maps https://angular-ui.github.io/angular-google-maps/#!/api

和谷歌方向api: https ://developers.google.com/maps/documentation/directions/

使用谷歌方向 api,您可以获得旅行的航点,然后使用折线指令将其绘制在地图画布上。

于 2014-11-20T10:09:20.057 回答