diff --git a/T3-Unity/Assets/Prefabs/Runner.prefab b/T3-Unity/Assets/Prefabs/Runner.prefab new file mode 100644 index 0000000000000000000000000000000000000000..8dd8c1ff5bfaa831305f31cb96247bbf4a2d34cd --- /dev/null +++ b/T3-Unity/Assets/Prefabs/Runner.prefab @@ -0,0 +1,230 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &625262611286937654 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7880584362641886927} + - component: {fileID: 114736490466060796} + m_Layer: 0 + m_Name: Runner + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7880584362641886927 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 625262611286937654} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 117.85736, y: 2.7792358, z: 82.664764} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 7450415508252682683} + - {fileID: 8674158381984612206} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &114736490466060796 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 625262611286937654} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cf1ed6e0202793488b285ce66b95cc8, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &915889190875002457 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8674158381984612206} + - component: {fileID: 1774386687331026366} + - component: {fileID: 9149670456554055795} + - component: {fileID: 8730312896995346045} + m_Layer: 0 + m_Name: Cylinder + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8674158381984612206 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 915889190875002457} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 7880584362641886927} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &1774386687331026366 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 915889190875002457} + m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &9149670456554055795 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 915889190875002457} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 24f0563fef1133141bb3fbf8d396a44b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!136 &8730312896995346045 +CapsuleCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 915889190875002457} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + m_Radius: 0.5000001 + m_Height: 2 + m_Direction: 1 + m_Center: {x: 0.000000059604645, y: 0, z: -0.00000008940697} +--- !u!1 &7386495333654814808 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 7450415508252682683} + - component: {fileID: 3481524135186394163} + - component: {fileID: 331940685426315474} + - component: {fileID: 5146914991577904448} + m_Layer: 0 + m_Name: Sphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &7450415508252682683 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7386495333654814808} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1.274, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 7880584362641886927} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &3481524135186394163 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7386495333654814808} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &331940685426315474 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7386495333654814808} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 3bcf7eea616b30749a4e57ca3684feb3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 +--- !u!135 &5146914991577904448 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 7386495333654814808} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} diff --git a/T3-Unity/Assets/Prefabs/Runner.prefab.meta b/T3-Unity/Assets/Prefabs/Runner.prefab.meta new file mode 100644 index 0000000000000000000000000000000000000000..12843237981e4888d5749bd6bc7cb340f3afc1d0 --- /dev/null +++ b/T3-Unity/Assets/Prefabs/Runner.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4256cfb91b73ae34aab9be42e6a067de +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/T3-Unity/Assets/Runners.cs b/T3-Unity/Assets/Runners.cs new file mode 100644 index 0000000000000000000000000000000000000000..d59e351fb8f0b46aa9545a4ffa93fcb703b823e3 --- /dev/null +++ b/T3-Unity/Assets/Runners.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; +using UnityEngine; + +public class Runners : MonoBehaviour +{ + public float speed = 10f; + + private Transform target; + private int waypointIndex = 0; + + void Start() + { + target = WaypointsFactory.getInstance().getWp()[0]; + + float vitesse = (float.Parse(RunnersFactory.getInstance().getRandom().Next(75, 125).ToString()) / 100f) * 10f; + speed = vitesse; + } + + private void Update() + { + Vector3 dir = target.position - transform.position; + transform.Translate(dir.normalized * speed * Time.deltaTime, Space.World); + + if (Vector3.Distance(transform.position, target.position) <= 0.3f) //Marge d'erreur + { + GetNextWaypoint(); + } + } + + private void GetNextWaypoint() + { + if (waypointIndex >= WaypointsFactory.getInstance().getWp().Count - 1) + { + Destroy(gameObject); + return; + } + + waypointIndex++; + target = WaypointsFactory.getInstance().getWp()[waypointIndex]; + } +} diff --git a/T3-Unity/Assets/Runners.cs.meta b/T3-Unity/Assets/Runners.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..d18afa0a39f0f051785bf07668538888b5531a5b --- /dev/null +++ b/T3-Unity/Assets/Runners.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 0cf1ed6e0202793488b285ce66b95cc8 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/T3-Unity/Assets/RunnersFactory.cs b/T3-Unity/Assets/RunnersFactory.cs new file mode 100644 index 0000000000000000000000000000000000000000..7a741107b3cc741c1d3ecf043b59c10dce5a8e48 --- /dev/null +++ b/T3-Unity/Assets/RunnersFactory.cs @@ -0,0 +1,37 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class RunnersFactory : MonoBehaviour +{ + public int nbJoueur; + public Transform parent; + public Runners copy; + private System.Random rdn; + private static RunnersFactory instance; + + void Start() + { + instance = this; + rdn = new System.Random(); + for (int i = 0; i<nbJoueur; i++) + { + Instantiate(copy, + new Vector3(WaypointsFactory.getInstance().getWp()[0].transform.position.x, + WaypointsFactory.getInstance().getWp()[0].transform.position.y, + WaypointsFactory.getInstance().getWp()[0].transform.position.z), + new Quaternion(0, 0, 0, 0), parent); + } + } + + public System.Random getRandom() + { + return rdn; + } + + + public static RunnersFactory getInstance() + { + return instance; + } +} diff --git a/T3-Unity/Assets/RunnersFactory.cs.meta b/T3-Unity/Assets/RunnersFactory.cs.meta new file mode 100644 index 0000000000000000000000000000000000000000..3635e14643a65f5b6d2a0625086cff2dcab54f45 --- /dev/null +++ b/T3-Unity/Assets/RunnersFactory.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 7e94988962f28d44cb28d67668b8f1ad +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/T3-Unity/Assets/Scenes/Map_Tests.unity b/T3-Unity/Assets/Scenes/Map_Tests.unity index c6241283c470e9c31cb30311f049222ea7fa8b56..25615479a89a2e4861213f90b624dea02a95fc10 100644 --- a/T3-Unity/Assets/Scenes/Map_Tests.unity +++ b/T3-Unity/Assets/Scenes/Map_Tests.unity @@ -1434,6 +1434,52 @@ CanvasRenderer: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1440548237} m_CullTransparentMesh: 0 +--- !u!1 &1468520958 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1468520960} + - component: {fileID: 1468520959} + m_Layer: 0 + m_Name: Sportifs + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1468520959 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1468520958} + m_Enabled: 0 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7e94988962f28d44cb28d67668b8f1ad, type: 3} + m_Name: + m_EditorClassIdentifier: + nbJoueur: 25 + parent: {fileID: 1468520960} + copy: {fileID: 114736490466060796, guid: 4256cfb91b73ae34aab9be42e6a067de, type: 3} +--- !u!4 &1468520960 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1468520958} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 117.85736, y: 2.7792358, z: 82.664764} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &1756448748 GameObject: m_ObjectHideFlags: 0 diff --git a/T3-Unity/Assets/Scripts/RouteTracer.cs b/T3-Unity/Assets/Scripts/RouteTracer.cs index 09f240ac807b2c49acfb8b4817eb4396bd6ccbfe..ba3ecec5c3db2aabd704566fca7bc89f4f254856 100644 --- a/T3-Unity/Assets/Scripts/RouteTracer.cs +++ b/T3-Unity/Assets/Scripts/RouteTracer.cs @@ -59,6 +59,8 @@ public class RouteTracer : MonoBehaviour GameObject.Find("Player").transform.position.y, (float)((GameObject.FindGameObjectWithTag("start_wp").transform.position.z + GameObject.FindGameObjectWithTag("end_wp").transform.position.z) / 2d) ); + + GameObject.Find("Sportifs").GetComponent<RunnersFactory>().enabled = true; } void DrawLine(Vector3 start, Vector3 end, Color color, float width) diff --git a/T3-Unity/Assets/test.json b/T3-Unity/Assets/test.json index f6459cd752103692403dcc84d953453bde181e6d..296c9fabc33bb2e92777d208dbbe2d0fcd7fff65 100644 --- a/T3-Unity/Assets/test.json +++ b/T3-Unity/Assets/test.json @@ -12,13 +12,609 @@ true ], "bearings": [ - 264 + 69 ], "location": [ - 7.762146, - 48.567099 + 7.746201, + 48.580863 ] }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 66, + 249 + ], + "location": [ + 7.746349, + 48.580901 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 67, + 246 + ], + "location": [ + 7.746387, + 48.580912 + ], + "in": 1 + } + ], + "geometry": "kmogHw|gn@G]AC?CACAGAI", + "maneuver": { + "bearing_after": 69, + "type": "depart", + "modifier": null, + "bearing_before": 0, + "Location": [ + 7.746201, + 48.580863 + ], + "instruction": "Drive east on Place de la Chaîne d'Or." + }, + "duration": 5.79, + "distance": 24.0, + "name": "Place de la Chaîne d'Or", + "mode": "driving" + }, + { + "intersections": [ + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 151, + 247 + ], + "location": [ + 7.746495, + 48.580942 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 140, + 319 + ], + "location": [ + 7.746959, + 48.580514 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 145, + 320 + ], + "location": [ + 7.747449, + 48.580126 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 149, + 327 + ], + "location": [ + 7.747874, + 48.579711 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 155, + 335 + ], + "location": [ + 7.748402, + 48.57908 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 154, + 335 + ], + "location": [ + 7.748432, + 48.579038 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 154, + 334 + ], + "location": [ + 7.74851, + 48.578934 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 156, + 335 + ], + "location": [ + 7.74872, + 48.578647 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 155, + 336 + ], + "location": [ + 7.748726, + 48.578638 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 153, + 335 + ], + "location": [ + 7.748761, + 48.578588 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 144, + 333 + ], + "location": [ + 7.748824, + 48.578507 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 119, + 324 + ], + "location": [ + 7.748928, + 48.578413 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 102, + 291 + ], + "location": [ + 7.749246, + 48.578314 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 104, + 281 + ], + "location": [ + 7.749626, + 48.578263 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 125, + 300 + ], + "location": [ + 7.750712, + 48.577957 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 132, + 305 + ], + "location": [ + 7.750788, + 48.577922 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 131, + 312 + ], + "location": [ + 7.75089, + 48.577861 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 146, + 317 + ], + "location": [ + 7.751439, + 48.577497 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 148, + 326 + ], + "location": [ + 7.751652, + 48.577289 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 149, + 328 + ], + "location": [ + 7.751735, + 48.577202 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 147, + 329 + ], + "location": [ + 7.751781, + 48.577152 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 146, + 327 + ], + "location": [ + 7.752297, + 48.576624 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 144, + 326 + ], + "location": [ + 7.752885, + 48.576057 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 147, + 324 + ], + "location": [ + 7.752969, + 48.575981 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 161, + 337 + ], + "location": [ + 7.75339, + 48.575441 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 167, + 341 + ], + "location": [ + 7.753419, + 48.575386 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 173, + 347 + ], + "location": [ + 7.753486, + 48.575193 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 168, + 353 + ], + "location": [ + 7.753511, + 48.575056 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 172, + 348 + ], + "location": [ + 7.753525, + 48.575012 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 167, + 352 + ], + "location": [ + 7.753595, + 48.574665 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 172, + 352 + ], + "location": [ + 7.753795, + 48.57381 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 170, + 352 + ], + "location": [ + 7.753842, + 48.573595 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 176, + 350 + ], + "location": [ + 7.754048, + 48.572854 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 181, + 356 + ], + "location": [ + 7.754052, + 48.572818 + ], + "in": 1 + }, { "out": 1, "entry": [ @@ -26,35 +622,227 @@ true ], "bearings": [ - 119, - 300 + 3, + 182 ], "location": [ - 7.761292, - 48.567183 + 7.754012, + 48.572021 ], "in": 0 } ], - "geometry": "kwlgHm`kn@FhBW`AEL", + "geometry": "{mogHs~gn@ROLMTW\\e@jAaBf@i@j@i@~@y@p@i@JEFETOr@g@BA@AHENKBAHIDI@CFODQBYDo@?GBSB]Fg@Hg@Ps@H[HYFOJSVi@n@cAh@i@PQHGhBgBnBuBNONOLMTQNKXOLGHEf@MXCHCbAMd@Kp@IrAOh@ItCi@D?b@?`BDF?P@P?", "maneuver": { - "bearing_after": 264, - "type": "depart", - "modifier": null, - "bearing_before": 0, + "bearing_after": 151, + "type": "end of road", + "modifier": "right", + "bearing_before": 67, "Location": [ - 7.762146, - 48.567099 + 7.746495, + 48.580942 ], - "instruction": "Drive west on Rue du Dreistein." + "instruction": "Turn right onto Rue de la Division Leclerc." }, - "duration": 12.089, - "distance": 72.887, - "name": "Rue du Dreistein", + "duration": 276.487, + "distance": 1216.0, + "name": "Rue de la Division Leclerc", "mode": "driving" }, { "intersections": [ + { + "out": 1, + "entry": [ + false, + true + ], + "bearings": [ + 2, + 151 + ], + "location": [ + 7.754008, + 48.571934 + ], + "in": 0 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 96, + 331 + ], + "location": [ + 7.754079, + 48.571849 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 99, + 276 + ], + "location": [ + 7.754283, + 48.571834 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 103, + 281 + ], + "location": [ + 7.75485, + 48.57177 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 101, + 283 + ], + "location": [ + 7.75498, + 48.57175 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 99, + 281 + ], + "location": [ + 7.755094, + 48.571735 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 102, + 279 + ], + "location": [ + 7.755264, + 48.571717 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 107, + 282 + ], + "location": [ + 7.755777, + 48.571644 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 125, + 292 + ], + "location": [ + 7.756105, + 48.571563 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 114, + 305 + ], + "location": [ + 7.756314, + 48.571467 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 116, + 294 + ], + "location": [ + 7.756605, + 48.57138 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 113, + 293 + ], + "location": [ + 7.758577, + 48.570792 + ], + "in": 1 + }, { "out": 0, "entry": [ @@ -62,12 +850,12 @@ false ], "bearings": [ - 30, - 120 + 113, + 293 ], "location": [ - 7.761218, - 48.567211 + 7.758756, + 48.570741 ], "in": 1 }, @@ -78,12 +866,12 @@ false ], "bearings": [ - 30, - 210 + 113, + 293 ], "location": [ - 7.761691, - 48.567752 + 7.75893, + 48.570693 ], "in": 1 }, @@ -94,12 +882,12 @@ false ], "bearings": [ - 30, - 210 + 113, + 293 ], "location": [ - 7.762022, - 48.568129 + 7.75985, + 48.570435 ], "in": 1 }, @@ -110,12 +898,12 @@ false ], "bearings": [ - 30, - 210 + 113, + 293 ], "location": [ - 7.762266, - 48.568412 + 7.759959, + 48.570404 ], "in": 1 }, @@ -126,12 +914,12 @@ false ], "bearings": [ - 41, - 210 + 113, + 293 ], "location": [ - 7.762627, - 48.568826 + 7.761074, + 48.570092 ], "in": 1 }, @@ -142,12 +930,12 @@ false ], "bearings": [ - 25, - 222 + 113, + 293 ], "location": [ - 7.763022, - 48.569123 + 7.761502, + 48.569972 ], "in": 1 }, @@ -158,12 +946,12 @@ false ], "bearings": [ - 23, - 205 + 113, + 293 ], "location": [ - 7.763069, - 48.56919 + 7.763036, + 48.569543 ], "in": 1 }, @@ -174,35 +962,15 @@ false ], "bearings": [ - 22, - 203 + 113, + 293 ], "location": [ - 7.763218, - 48.569421 + 7.763155, + 48.56951 ], "in": 1 - } - ], - "geometry": "axlgHszjn@kB}AgA}@CCw@q@gA}@KICMUSACKKQ[MICAa@UCACCCAGE", - "maneuver": { - "bearing_after": 30, - "type": "end of road", - "modifier": "right", - "bearing_before": 300, - "Location": [ - 7.761218, - 48.567211 - ], - "instruction": "Turn right onto Rue de Rathsamhausen." - }, - "duration": 61.387, - "distance": 296.0, - "name": "Rue de Rathsamhausen", - "mode": "driving" - }, - { - "intersections": [ + }, { "out": 0, "entry": [ @@ -211,7 +979,7 @@ ], "bearings": [ 113, - 202 + 293 ], "location": [ 7.763256, @@ -298,27 +1066,7 @@ 48.56895 ], "in": 1 - } - ], - "geometry": "gfmgHkgkn@DU@Ez@yE??DQZgBBI??Hc@", - "maneuver": { - "bearing_after": 113, - "type": "turn", - "modifier": "right", - "bearing_before": 22, - "Location": [ - 7.763256, - 48.569482 - ], - "instruction": "Turn right onto Avenue Jean Jaurès." - }, - "duration": 36.255, - "distance": 166.0, - "name": "Avenue Jean Jaurès", - "mode": "driving" - }, - { - "intersections": [ + }, { "out": 0, "entry": [ @@ -326,7 +1074,7 @@ false ], "bearings": [ - 23, + 113, 293 ], "location": [ @@ -336,201 +1084,181 @@ "in": 1 }, { - "out": 1, + "out": 0, "entry": [ - false, - true + true, + false ], "bearings": [ - 203, + 113, 293 ], "location": [ - 7.76543, - 48.569051 + 7.765472, + 48.568859 ], - "in": 0 + "in": 1 }, { - "out": 1, + "out": 0, "entry": [ - false, - true + true, + false ], "bearings": [ 113, 293 ], "location": [ - 7.765247, - 48.569102 + 7.766534, + 48.568562 ], - "in": 0 + "in": 1 }, { - "out": 1, + "out": 0, "entry": [ - false, - true + true, + false ], "bearings": [ - 113, + 108, 293 ], "location": [ - 7.764944, - 48.569187 + 7.766683, + 48.568521 ], - "in": 0 + "in": 1 }, { - "out": 1, + "out": 0, "entry": [ - false, - true + true, + false ], "bearings": [ 113, - 293 + 296 ], "location": [ - 7.764583, - 48.569288 + 7.767662, + 48.568254 ], - "in": 0 + "in": 1 }, { - "out": 1, + "out": 0, "entry": [ - false, - true + true, + false ], "bearings": [ 113, 293 ], "location": [ - 7.763606, - 48.569562 + 7.768011, + 48.568155 ], - "in": 0 + "in": 1 }, { - "out": 1, + "out": 0, "entry": [ - false, - true + true, + false ], "bearings": [ 113, - 292 + 293 ], "location": [ - 7.76352, - 48.569586 + 7.768043, + 48.568146 ], - "in": 0 + "in": 1 }, { - "out": 1, + "out": 0, "entry": [ - false, - true + true, + false ], "bearings": [ - 112, + 85, 293 ], "location": [ - 7.763494, - 48.569593 + 7.768164, + 48.568112 ], - "in": 0 + "in": 1 }, { - "out": 1, + "out": 0, "entry": [ - false, - true + true, + false ], "bearings": [ - 113, - 293 + 86, + 265 ], "location": [ - 7.763265, - 48.569657 + 7.768269, + 48.568118 ], - "in": 0 + "in": 1 }, { - "out": 1, + "out": 0, "entry": [ - false, - true + true, + false ], "bearings": [ - 113, - 293 + 99, + 266 ], "location": [ - 7.762813, - 48.569784 + 7.768384, + 48.568123 ], - "in": 0 + "in": 1 }, { - "out": 1, + "out": 0, "entry": [ - false, - true + true, + false ], "bearings": [ - 113, - 293 + 102, + 279 ], "location": [ - 7.761969, - 48.570021 + 7.76857, + 48.568103 ], - "in": 0 + "in": 1 }, { - "out": 1, + "out": 0, "entry": [ - false, - true + true, + false ], "bearings": [ - 113, - 293 + 125, + 297 ], "location": [ - 7.761171, - 48.570245 + 7.770438, + 48.567707 ], - "in": 0 - } - ], - "geometry": "sbmgHitkn@KGECKGIb@Q|@SfAu@`ECNA@?DKf@ABAFGZAJKj@o@fDm@~CAJ", - "maneuver": { - "bearing_after": 293, - "type": "continue", - "modifier": "uturn", - "bearing_before": 113, - "Location": [ - 7.765332, - 48.568899 - ], - "instruction": "Make a left U-turn at Rue de Kembs to stay on Avenue Jean Jaurès." - }, - "duration": 91.172, - "distance": 364.0, - "name": "Avenue Jean Jaurès", - "mode": "driving" - }, - { - "intersections": [ + "in": 1 + }, { "out": 0, "entry": [ @@ -538,12 +1266,12 @@ false ], "bearings": [ - 26, - 113 + 139, + 305 ], "location": [ - 7.761106, - 48.570263 + 7.770508, + 48.567674 ], "in": 1 }, @@ -554,12 +1282,12 @@ false ], "bearings": [ - 32, - 206 + 135, + 319 ], "location": [ - 7.761142, - 48.570311 + 7.770645, + 48.567571 ], "in": 1 }, @@ -570,12 +1298,12 @@ false ], "bearings": [ - 31, - 212 + 115, + 315 ], "location": [ - 7.761312, - 48.570489 + 7.770822, + 48.567454 ], "in": 1 }, @@ -586,12 +1314,12 @@ false ], "bearings": [ - 31, - 211 + 109, + 289 ], "location": [ - 7.761768, - 48.570988 + 7.771809, + 48.567207 ], "in": 1 }, @@ -602,35 +1330,15 @@ false ], "bearings": [ - 32, - 211 + 109, + 289 ], "location": [ - 7.76206, - 48.571314 + 7.772155, + 48.567128 ], "in": 1 - } - ], - "geometry": "ckmgH}yjn@EACCc@a@}AuAEEECy@u@kBcBGEE?", - "maneuver": { - "bearing_after": 26, - "type": "turn", - "modifier": "right", - "bearing_before": 293, - "Location": [ - 7.761106, - 48.570263 - ], - "instruction": "Turn right onto Rue Mariano." - }, - "duration": 44.098, - "distance": 215.0, - "name": "Rue Mariano", - "mode": "driving" - }, - { - "intersections": [ + }, { "out": 0, "entry": [ @@ -638,12 +1346,12 @@ false ], "bearings": [ - 70, - 203 + 109, + 289 ], "location": [ - 7.762593, - 48.571922 + 7.772333, + 48.567087 ], "in": 1 }, @@ -654,50 +1362,30 @@ false ], "bearings": [ - 70, - 250 + 107, + 289 ], "location": [ - 7.762677, - 48.571942 + 7.772591, + 48.567029 ], "in": 1 - } - ], - "geometry": "oumgHeckn@CQES", - "maneuver": { - "bearing_after": 70, - "type": "end of road", - "modifier": "right", - "bearing_before": 23, - "Location": [ - 7.762593, - 48.571922 - ], - "instruction": "Turn right onto Rue du Ballon." - }, - "duration": 4.036, - "distance": 15.0, - "name": "Rue du Ballon", - "mode": "driving" - }, - { - "intersections": [ + }, { - "out": 1, + "out": 0, "entry": [ - false, - true + true, + false ], "bearings": [ - 250, - 357 + 93, + 287 ], "location": [ - 7.762781, - 48.571967 + 7.772752, + 48.566997 ], - "in": 0 + "in": 1 }, { "out": 0, @@ -706,12 +1394,28 @@ false ], "bearings": [ - 6, - 179 + 93, + 270 + ], + "location": [ + 7.773232, + 48.566986 + ], + "in": 1 + }, + { + "out": 0, + "entry": [ + true, + false + ], + "bearings": [ + 76, + 273 ], "location": [ - 7.762769, - 48.57215 + 7.77335, + 48.566982 ], "in": 1 }, @@ -722,12 +1426,12 @@ false ], "bearings": [ - 29, - 199 + 62, + 256 ], "location": [ - 7.762843, - 48.572373 + 7.77348, + 48.567003 ], "in": 1 }, @@ -738,31 +1442,31 @@ false ], "bearings": [ - 37, - 209 + 62, + 242 ], "location": [ - 7.762918, - 48.572461 + 7.773598, + 48.567045 ], "in": 1 } ], - "geometry": "yumgHkdkn@E@]?O?KCGCGEKIEECIECCAEE", + "geometry": "qumgHqmin@NMBg@Bs@Dk@@QBY@UBa@HeA@OBQDm@HSPg@P{@`@kB`@kBp@qDHc@Ha@p@wDFU|@}EVuAnAcHBI@EDUDUDU@Ez@yE??DQZgBBI??Hc@F[??z@sEF]@OBOh@wCDKPeA@EFWAU?UBe@HkARiBPuAHg@DUDSFWBGBER[Va@BMDMd@iDNeAFa@Js@BO@O@S?Q?M?k@@WCYIWAEES", "maneuver": { - "bearing_after": 357, + "bearing_after": 96, "type": "turn", "modifier": "left", - "bearing_before": 70, + "bearing_before": 182, "Location": [ - 7.762781, - 48.571967 + 7.754008, + 48.571934 ], - "instruction": "Turn left onto Rue Pierre Fresnay." + "instruction": "Turn left onto Rue de la Thumenau." }, - "duration": 20.366, - "distance": 71.0, - "name": "Rue Pierre Fresnay", + "duration": 295.01, + "distance": 1574.999, + "name": "Rue de la Thumenau", "mode": "driving" }, { @@ -774,12 +1478,12 @@ false ], "bearings": [ - 93, - 217 + 148, + 242 ], "location": [ - 7.763027, - 48.572557 + 7.773733, + 48.567092 ], "in": 1 }, @@ -790,15 +1494,71 @@ false ], "bearings": [ - 92, - 273 + 182, + 328 ], "location": [ - 7.763239, - 48.572549 + 7.773783, + 48.567039 ], "in": 1 - }, + } + ], + "geometry": "iwlgHyhmn@FG@AHCj@LDA", + "maneuver": { + "bearing_after": 182, + "type": "turn", + "modifier": "right", + "bearing_before": 62, + "Location": [ + 7.773733, + 48.567092 + ], + "instruction": "Turn right onto Avenue Aristide Briand." + }, + "duration": 9.99, + "distance": 41.0, + "name": "Avenue Aristide Briand", + "mode": "driving" + }, + { + "intersections": [ + { + "out": 1, + "entry": [ + false, + true + ], + "bearings": [ + 6, + 101 + ], + "location": [ + 7.773742, + 48.566743 + ], + "in": 0 + } + ], + "geometry": "culgH{hmn@LwBJ_C", + "maneuver": { + "bearing_after": 101, + "type": "turn", + "modifier": "left", + "bearing_before": 186, + "Location": [ + 7.773742, + 48.566743 + ], + "instruction": "Turn left onto Rue Jean Jaurès." + }, + "duration": 23.161, + "distance": 92.0, + "name": "Rue Jean Jaurès", + "mode": "driving" + }, + { + "intersections": [ { "out": 0, "entry": [ @@ -806,31 +1566,31 @@ false ], "bearings": [ - 93, - 272 + 199, + 278 ], "location": [ - 7.76444, - 48.572527 + 7.774975, + 48.566608 ], "in": 1 } ], - "geometry": "oymgH}ekn@@i@BoFBeBBw@@U", + "geometry": "itlgHspmn@FDRH", "maneuver": { - "bearing_after": 93, + "bearing_after": 199, "type": "turn", "modifier": "right", - "bearing_before": 37, + "bearing_before": 98, "Location": [ - 7.763027, - 48.572557 + 7.774975, + 48.566608 ], - "instruction": "Turn right onto Avenue du Rhin/M 1004." + "instruction": "Turn right onto Rue de Brisach." }, - "duration": 32.61, - "distance": 170.494, - "name": "Avenue du Rhin", + "duration": 6.757, + "distance": 16.296, + "name": "Rue de Brisach", "mode": "driving" }, { @@ -841,59 +1601,59 @@ true ], "bearings": [ - 277 + 19 ], "location": [ - 7.765339, - 48.572481 + 7.774902, + 48.56647 ], "in": 0 } ], - "geometry": "_ymgHktkn@??", + "geometry": "mslgHcpmn@??", "maneuver": { "bearing_after": 0, "type": "arrive", - "modifier": "right", - "bearing_before": 97, + "modifier": "left", + "bearing_before": 199, "Location": [ - 7.765339, - 48.572481 + 7.774902, + 48.56647 ], - "instruction": "Your destination is on the right." + "instruction": "Your destination is on the left." }, "duration": 0.0, "distance": 0.0, - "name": "Avenue du Rhin", + "name": "Rue de Brisach", "mode": "driving" } ], - "summary": "Rue de Rathsamhausen, Avenue Jean Jaurès", - "duration": 302.013, - "distance": 1370.381, + "summary": "Rue de la Division Leclerc, Rue de la Thumenau", + "duration": 617.196, + "distance": 2964.296, "annotation": null } ], - "geometry": "kwlgHm`kn@FhB]nAcIyGy@mAgAo@rB}K]SqF~YkIgHIe@_AAu@o@NmM", - "duration": 302.013, - "distance": 1370.381, - "weight": 443.946, + "geometry": "kmogHw|gn@O{@tFqG|FiEx@cGpAwD|JsK~BiArMoBvDF~@oKzT}jA`A{KjAsCnAeJQcEdAAXwFZN", + "duration": 617.196, + "distance": 2964.296, + "weight": 1335.145, "weight_name": "auto" } ], "waypoints": [ { - "name": "Rue du Dreistein", + "name": "Place de la Chaîne d'Or", "location": [ - 7.762146, - 48.567099 + 7.746201, + 48.580863 ] }, { - "name": "Avenue du Rhin", + "name": "Rue de Brisach", "location": [ - 7.765339, - 48.572481 + 7.774902, + 48.56647 ] } ],