public IEnumerator GetGoogleMap(float latitude, float longitude) { // Generate the complete url url = "https://maps.googleapis.com/maps/api/staticmap?center=" + latitude + "," + longitude + "&zoom=" + zoom + "&size=" + mapWidth + "x" + mapHeight + "&maptype=" + mapSelected; url += TR_Toolbox.generateURL(GameObject.FindGameObjectsWithTag("Player")); // Draw a play circle on the map float lat = MapTools.getLatO(); float lng = MapTools.getLonO(); url += TR_Toolbox.drawCircle(range, lat, lng, 5); // Add the key at the tail of the url url += key1; // url += key2; // url += key3; WWW www = new WWW(url); yield return(www); Destroy(mapTexture); // Catch the error if there is one if (www.error == null) { // Get the texture downloaded mapTexture = www.texture; // Assign it to the UI myMap.GetComponent <RawImage>().texture = mapTexture; StopCoroutine(mapCoroutine); } }
public void drawCircleTest() { string correct; string result; int range = 200; float latitudeO = 40; float longitudeO = 40; correct = "&path=color:blue%7Cfillcolor:yellow%7Cweight:4%7C40.0018,40%7C40.0018,40"; result = TR_Toolbox.drawCircle(range, latitudeO, longitudeO, 360); Assert.AreEqual(result, correct); range = 100; latitudeO = 30; longitudeO = 30; correct = "&path=color:blue%7Cfillcolor:yellow%7Cweight:4%7C30.0009,30%7C30.00045,30.0009%7C29.99955,30.0009%7C29.9991,30%7C29.99955,29.9991%7C30.00045,29.9991%7C30.0009,30"; result = TR_Toolbox.drawCircle(range, latitudeO, longitudeO, 60); Assert.AreEqual(result, correct); range = 1000; latitudeO = 30; longitudeO = 30; correct = "&path=color:blue%7Cfillcolor:yellow%7Cweight:4%7C30.00898,30%7C30.00884,30.0018%7C30.00844,30.00355%7C30.00778,30.00519%7C30.00688,30.00667%7C30.00577,30.00795%7C30.00449,30.00898%7C30.00307,30.00975%7C30.00156,30.01022%7C30,30.01037%7C29.99844,30.01022%7C29.99693,30.00975%7C29.99551,30.00898%7C29.99422,30.00795%7C29.99312,30.00667%7C29.99222,30.00519%7C29.99156,30.00355%7C29.99115,30.0018%7C29.99101,30%7C29.99115,29.9982%7C29.99156,29.99645%7C29.99222,29.99481%7C29.99312,29.99333%7C29.99422,29.99205%7C29.99551,29.99102%7C29.99693,29.99025%7C29.99844,29.98978%7C30,29.98963%7C30.00156,29.98978%7C30.00307,29.99025%7C30.00449,29.99102%7C30.00577,29.99205%7C30.00688,29.99333%7C30.00778,29.99481%7C30.00844,29.99645%7C30.00884,29.9982%7C30.00898,30"; result = TR_Toolbox.drawCircle(range, latitudeO, longitudeO, 10); Assert.AreEqual(result, correct); }
// Transfer the latitude and longitude to the unity coordinate public static Vector3 mapGPS(float latitude, float longitude) { return(new Vector3( TR_Toolbox.gps_transform(latitude, longitude, latitude, longitudeO) * radius / range, Camera.main.transform.position.y, TR_Toolbox.gps_transform(latitude, longitude, latitudeO, longitude) * radius / range )); }
public void GenerateUrlTest() { string correct; string result; GameObject[] players; GameObject player0 = new GameObject(); player0.AddComponent <PlayerMove>(); player0.GetComponent <PlayerMove>().isSeeker = true; player0.GetComponent <PlayerMove>().name = "Ryner"; player0.GetComponent <PlayerMove>().latitude = 30; player0.GetComponent <PlayerMove>().longitude = 35; players = new GameObject[1]; players[0] = player0; correct = "&markers=color:red%7Clabel:R%7C30,35"; result = TR_Toolbox.generateURL(players); Assert.AreEqual(result, correct); GameObject player1 = new GameObject(); player1.AddComponent <PlayerMove>(); player1.GetComponent <PlayerMove>().isSeeker = false; player1.GetComponent <PlayerMove>().name = "lanyu"; player1.GetComponent <PlayerMove>().latitude = 35; player1.GetComponent <PlayerMove>().longitude = 40; players = new GameObject[2]; players[0] = player0; players[1] = player1; correct = "&markers=color:red%7Clabel:R%7C30,35&markers=color:green%7Clabel:L%7C35,40"; result = TR_Toolbox.generateURL(players); Assert.AreEqual(result, correct); GameObject player2 = new GameObject(); player2.AddComponent <PlayerMove>(); player2.GetComponent <PlayerMove>().isSeeker = false; player2.GetComponent <PlayerMove>().name = "zoran"; player2.GetComponent <PlayerMove>().latitude = 32; player2.GetComponent <PlayerMove>().longitude = 42; players = new GameObject[3]; players[0] = player0; players[1] = player1; players[2] = player2; correct = "&markers=color:red%7Clabel:R%7C30,35&markers=color:green%7Clabel:L%7C35,40&markers=color:green%7Clabel:Z%7C32,42"; result = TR_Toolbox.generateURL(players); Assert.AreEqual(result, correct); }
public void distance() // general calculation for two distance(lon ,lat) { float dtest1; float dtest2; float dtest3; float dtest4; //three correctness test dtest1 = TR_Toolbox.gps_transform(32.1f, 50, 23.5f, 45); Assert.AreEqual(1076131.63f, dtest1); dtest2 = TR_Toolbox.gps_transform(25f, -50, 23.5f, 45); Assert.AreEqual(-9404995.0f, dtest2); dtest3 = TR_Toolbox.gps_transform(32.1f, 50, 23.5f, -45); Assert.AreEqual(9095895.0f, dtest3); // test for returning negative value dtest4 = TR_Toolbox.gps_transform(23.5f, 45, 32.1f, 50); Assert.AreEqual(-1076131.63f, dtest4); }