Пример #1
0
    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);
        }
    }
Пример #2
0
    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);
    }
Пример #3
0
 // 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
                ));
 }
Пример #4
0
    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);
    }
Пример #5
0
    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);
    }