Exemple #1
0
        public void Query(List <Vector2d> waypoints)
        {
            var _directionResource = new DirectionResource(waypoints.ToArray(), RoutingProfile.Driving);

            _directionResource.Steps = true;
            _directions.Query(_directionResource, HandleDirectionsResponse);
        }
Exemple #2
0
        private void Query(Action <List <Vector3> > vecs, Transform start, Transform end, AbstractMap map, ResponseHandler handler)
        {
            Vector2d[] wp = new Vector2d[2];
            wp[0] = start.GetGeoPosition(map.CenterMercator, map.WorldRelativeScale);
            wp[1] = end.GetGeoPosition(map.CenterMercator, map.WorldRelativeScale);
            DirectionResource _directionResource = new DirectionResource(wp, RoutingProfile.Walking);

            _directionResource.Steps = true;

            _directions.Query(_directionResource, handler.HandleDirectionsResponse);
        }
Exemple #3
0
        private void Start()
        {
            _directions = MapboxAccess.Instance.Directions;
            _startLocationGeocoder.OnGeocoderResponse += StartLocationGeocoder_OnGeocoderResponse;
            _endLocationGeocoder.OnGeocoderResponse   += EndLocationGeocoder_OnGeocoderResponse;

            _coordinates = new Vector2d[2];

            // Can we make routing profiles an enum?
            _directionResource       = new DirectionResource(_coordinates, RoutingProfile.Driving);
            _directionResource.Steps = true;
        }
Exemple #4
0
        private void generatePath()
        {
            var count = coordinates.Count;
            var wp    = new Vector2d[count];

            for (int i = 0; i < count; i++)
            {
                wp[i] = (Vector2d)coordinates[i];
            }

            if (coordinates.Count > 1)
            {
                var _directionResource = new DirectionResource(wp, RoutingProfile.Cycling);
                _directionResource.Steps = true;
                _directions.Query(_directionResource, HandleDirectionsResponse);
            }

            if (!path)
            {
                for (int i = 0; i < count; i++)
                {
                    var prefab   = WayPoint;
                    var instance = Instantiate(WayPoint) as GameObject;
                    //Text wayPointNumber = instance.GetComponentInChildren<Text>();
                    //wayPointNumber.text = (i).ToString();
                    instance.layer = 9;
                    _instances.Add(instance);

                    DragTourWayPoint dragWayPoint = instance.GetComponentInChildren <DragTourWayPoint>();
                    dragWayPoint.location = (TourLocation)locations[i];
                }
            }

            for (int i = 1; i < count; i++)
            {
                var instance = _instances[i];

                DragTourWayPoint dragWayPoint = instance.GetComponentInChildren <DragTourWayPoint>();
                TourLocation     location     = dragWayPoint.location;

                if (!location.Drag)
                {
                    //instance.transform.SetParent(Mapholder);
                    //instance.transform.rotation = Mapholder.rotation;
                    instance.transform.position = Conversions.GeoToWorldPosition(wp[i].x, wp[i].y, _map.CenterMercator, _map.WorldRelativeScale).ToVector3xz() + new Vector3(0, 20, 0);
                    instance.SetActive(true);
                    instance.transform.SetAsLastSibling();
                }
            }

            path = true;
        }
Exemple #5
0
    void Query()
    {
        //Debug.Log("Run here");
        _map.OnInitialized -= Query;
        var wp = new Vector2d[2];

        wp[0] = botsPos2d[indexQuery];
        wp[1] = curPlayerPos;
        var _directionResource = new DirectionResource(wp, RoutingProfile.Walking);

        _directionResource.Steps = true;
        curBotDir.Query(_directionResource, HandleDirectionsResponse);
    }
Exemple #6
0
    private void Start()
    {
        map.CenterLatitudeLongitude.Set(locationFactory.DefaultLocationProvider.CurrentLocation.LatitudeLongitude.x, locationFactory.DefaultLocationProvider.CurrentLocation.LatitudeLongitude.y);

        Vector2d[] array = new Vector2d[2];
        array[0] = new Vector2d(-94.58048, 39.13633);//locationFactory.DefaultLocationProvider.CurrentLocation.LatitudeLongitude;
        array[1] = new Vector2d(-94.58055, 39.13674);

        DirectionResource directionResource = new DirectionResource(array, RoutingProfile.Walking);
        string            test = directionResource.GetUrl();

        array[0] = new Vector2d();
    }
        void Query()
        {
            var count = _waypoints.Length;
            var wp    = new Vector2d[count];

            for (int i = 0; i < count; i++)
            {
                wp[i] = _waypoints[i].GetGeoPosition(_map.CenterMercator, _map.WorldRelativeScale);
            }
            var _directionResource = new DirectionResource(wp, RoutingProfile.Driving);

            _directionResource.Steps = true;
            _directions.Query(_directionResource, HandleDirectionsResponse);
        }
Exemple #8
0
    public void Query()
    {
        Debug.Log("Llamada a query");
        var count = _waypoints.Count;
        var wp    = new Vector2d[count];

        for (int i = 0; i < count; i++)
        {
            wp[i] = _waypoints[i].GetGeoPosition(_map.CenterMercator, _map.WorldRelativeScale);
        }
        var _directionResource = new DirectionResource(wp, routingProfile);

        _directionResource.Steps = true;
        _directions.Query(_directionResource, HandleDirectionsResponse);
    }
Exemple #9
0
    public void GetWayPoints(UnitType unitType, Vector3 start, Vector3 end, Action <List <Vector3> > callback)
    {
        RoutingProfile routingProfile;

        switch (unitType)
        {
        case UnitType.Soldier:
            routingProfile = RoutingProfile.Walking;
            break;

        case UnitType.Vehicle:
            routingProfile = RoutingProfile.Driving;
            break;

        default:
            routingProfile = RoutingProfile.Driving;
            break;
        }

        var wp = new Vector2d[2];

        wp[0] = start.GetGeoPosition(map.CenterMercator, map.WorldRelativeScale);
        wp[1] = end.GetGeoPosition(map.CenterMercator, map.WorldRelativeScale);
        var _directionResource = new DirectionResource(wp, routingProfile);

        _directionResource.Steps = true;
        directions.Query(_directionResource, (DirectionsResponse response) =>
        {
            if (null == response.Routes || response.Routes.Count < 1)
            {
                callback(null);
                return;
            }
            var dat = new List <Vector3>();
            foreach (var point in response.Routes[0].Geometry)
            {
                var lat            = point.x;
                var lon            = point.y;
                Vector3 withHeight = MapUtils.Instance.GetVectorOnMap(lat, lon);

                Debug.Log("add withHeight x:" + withHeight.x + " y:" + withHeight.y + " z:" + withHeight.z);
                dat.Add(withHeight);
            }

            callback(dat);
        });
    }
Exemple #10
0
    public void Query(Action <List <Vector3> > vecs, Transform start, Transform end, AbstractMap map)
    {
        if (callback == null)
        {
            callback = vecs;
        }

        _map = map;

        var wp = new Vector2d[2];

        wp[0] = start.GetGeoPosition(_map.CenterMercator, _map.WorldRelativeScale);
        wp[1] = end.GetGeoPosition(_map.CenterMercator, _map.WorldRelativeScale);
        var _directionResource = new DirectionResource(wp, getProfile(routing));

        _directionResource.Steps = true;
        _directions.Query(_directionResource, HandleDirectionsResponse);
    }
Exemple #11
0
    private void DoWayPoint(List <Transform> rt)
    {
        if (initFinish == false)
        {
            return;
        }
        var count = rt.Count;
        var wp    = new Vector2d[count];

        for (int i = 0; i < count; i++)
        {
            wp[i] = rt[i].GetGeoPosition(_map.CenterMercator, _map.WorldRelativeScale);
        }
        var _directionResource = new DirectionResource(wp, RoutingProfile.Driving);

        _directionResource.Steps = true;
        _directions.Query(_directionResource, HandleDirectionsResponse);
    }
        void Request()
        {
            var waypointCoordinates = new List <GeoCoordinate>();

            foreach (var point in _waypoints)
            {
                var latLon = transform.GetLatitudeLongitudeFromPosition(point.localPosition);
                var coord  = new GeoCoordinate();
                coord.Latitude  = latLon.x;
                coord.Longitude = latLon.y;
                waypointCoordinates.Add(coord);
                point.GetComponentInChildren <Text>().text = string.Format("({0:0.000}, {1:0.000})", coord.Latitude, coord.Longitude);;
            }

            _directionResource       = new DirectionResource(waypointCoordinates.ToArray(), RoutingProfile.Driving);
            _directionResource.Steps = true;
            MapboxConvenience.Instance.Directions.Query(_directionResource, HandleDirectionsResponse);
        }
        public void Query()
        {
            if (que != true && debug)
            {
                Testtext.text = "In Query";
                que           = true;
            }

            /*
             *
             * var count = _waypoints.Length;
             * var wp = new Vector2d[count];
             *
             * for (int i = 0; i < count; i++)
             * {
             *      wp[i] = _waypoints[i].GetGeoPosition(_map.CenterMercator, _map.WorldRelativeScale);
             * }
             */
            var _directionResource = new DirectionResource(wp, RoutingProfile.Walking);

            _directionResource.Steps = true;
            _directions.Query(_directionResource, HandleDirectionsResponse);
        }
Exemple #14
0
        public void Query()
        {
            var count = _waypoints.Length;
            var wp    = new Vector2d[count];

            wp[0] = _waypoints[0].GetGeoPosition(_map.CenterMercator, _map.WorldRelativeScale);

            if (controller.GetActiveQuest() == null)
            {
                Debug.Log("Is null");
                wp[1] = _waypoints[0].GetGeoPosition(_map.CenterMercator, _map.WorldRelativeScale);
            }
            else
            {
                Quest quest = controller.GetActiveQuest();
                Debug.Log("Quest Started");
                if (quest.Start_co == null)
                {
                    quest.Start_co = new GPSCoordinate(wp[0].x, wp[0].y, "");
                }
                wp[1] = endPos;
                if (controller.CheckFinished(wp[0].x, wp[0].y, wp[1].x, wp[1].y))
                {
                    controller.CompleteQuest();
                }
                Debug.Log("Crossed: " + controller.activeQuest.crossedRadZone);
                if (!controller.activeQuest.crossedRadZone && controller.CheckInZone(wp[0].x, wp[0].y))
                {
                    controller.activeQuest.crossedRadZone = true;
                    Debug.Log("Crossed Rad Zone");
                }
            }
            var _directionResource = new DirectionResource(wp, RoutingProfile.Walking);

            _directionResource.Steps = true;
            _directions.Query(_directionResource, HandleDirectionsResponse);
        }
Exemple #15
0
    void TimeDistance()
    {
        _directions = MapboxAccess.Instance.Directions;

        _coordinates = new Vector2d[2];

        _directionResource       = new DirectionResource(_coordinates, RoutingProfile.Walking);
        _directionResource.Steps = true;

        _coordinates[0] = user_loc._userloc;
        switch (_dnameforlocal)
        {
            #region 主要大樓
        case "國璽樓(MD)":
            _coordinates[1] = Conversions.StringToLatLon("25.0386,121.431261");
            break;

        case "倬章樓(DG)":
            _coordinates[1] = Conversions.StringToLatLon("25.038228,121.431186");
            break;

        case "進修部大樓(ES)":
            _coordinates[1] = Conversions.StringToLatLon("25.037726,121.430395");
            break;

        case "積健樓(LP)":
            _coordinates[1] = Conversions.StringToLatLon("25.037832,121.432627");
            break;

        case "利瑪竇大樓(LM)":
            _coordinates[1] = Conversions.StringToLatLon("25.037315,121.431348");
            break;

        case "伯達樓(BS)":
            _coordinates[1] = Conversions.StringToLatLon("25.036858,121.431713");
            break;

        case "羅耀拉大樓(SL)":
            _coordinates[1] = Conversions.StringToLatLon("25.036418,121.430858");
            break;

        case "樹德樓(LW)":
            _coordinates[1] = Conversions.StringToLatLon("25.036386,121.431684");
            break;

        case "文開樓(LE)":
            _coordinates[1] = Conversions.StringToLatLon("25.037226,121.433736");
            break;

        case "文友樓(LF)":
            _coordinates[1] = Conversions.StringToLatLon("25.036873,121.4337");
            break;

        case "文華樓(LI)":
            _coordinates[1] = Conversions.StringToLatLon("25.036425,121.433644");
            break;

        case "藝術學院(AG)":
            _coordinates[1] = Conversions.StringToLatLon("25.036506,121.435094");
            break;

        case "聖言樓(SF)":
            _coordinates[1] = Conversions.StringToLatLon("25.035491,121.431641");
            break;

        case "外語學院(FG,AV,LA,LB)":
            _coordinates[1] = Conversions.StringToLatLon("25.034853,121.432382");
            break;

        case "理工綜合教室(LH)":
            _coordinates[1] = Conversions.StringToLatLon("25.034254,121.432002");
            break;

        case "耕莘樓(A)":
            _coordinates[1] = Conversions.StringToLatLon("25.0337,121.433278");
            break;

        case "朝橒樓(TC)":
            _coordinates[1] = Conversions.StringToLatLon("25.035232,121.433521");
            break;

        case "秉雅樓(NF)":
            _coordinates[1] = Conversions.StringToLatLon("25.035479,121.434237");
            break;

        case "舒德樓":
            _coordinates[1] = Conversions.StringToLatLon("25.033958,121.434072");
            break;

        case "野聲樓(YP)":
            _coordinates[1] = Conversions.StringToLatLon("25.033348,121.434593");
            break;

            #endregion
            #region 特殊景點
        case "中美堂":
            _coordinates[1] = Conversions.StringToLatLon("25.03814,121.431889");
            break;

        case "淨心堂":
            _coordinates[1] = Conversions.StringToLatLon("25.035893,121.432332");
            break;

        case "情人坡":
            _coordinates[1] = Conversions.StringToLatLon("25.034759,121.431549");
            break;

        case "食科冰淇淋":
            _coordinates[1] = Conversions.StringToLatLon("25.034631,121.434518");
            break;

        case "真善美聖":
            _coordinates[1] = Conversions.StringToLatLon("25.032916,121.434046");
            break;

            #endregion
            #region 餐廳
        case "心園":
            _coordinates[1] = Conversions.StringToLatLon("25.036877,121.429806");
            break;

        case "仁園":
            _coordinates[1] = Conversions.StringToLatLon("25.03636,121.429709");
            break;

        case "理園":
            _coordinates[1] = Conversions.StringToLatLon("25.035401,121.430849");
            break;

        case "文園":
            _coordinates[1] = Conversions.StringToLatLon("25.037108,121.433175");
            break;

        case "輔園":
            _coordinates[1] = Conversions.StringToLatLon("25.034355,121.434209");
            break;

            #endregion
            #region 圖書館
        case "濟時樓圖書館":
            _coordinates[1] = Conversions.StringToLatLon("25.035943,121.430172");
            break;

        case "國璽樓圖書館":
            _coordinates[1] = Conversions.StringToLatLon("25.038886,121.43128");
            break;

        case "公博樓圖書館":
            _coordinates[1] = Conversions.StringToLatLon("25.036455,121.434507");
            break;
            #endregion
        }
        Route();
    }