Esempio n. 1
0
    // Use this for initialization
    void Start()
    {
        GeoPoint qumramGeolocation = deviceLocationScript.Instance.loc;

        map.initialize();
        map.centerMercator = map.tileCenterMercator(qumramGeolocation);
        map.zoom           = zoom;
        map.DrawMap();

        map.transform.localScale = Vector3.Scale(
            new Vector3(map.mapRectangle.getWidthMeters(), map.mapRectangle.getHeightMeters(), 1.0f),
            new Vector3(map.realWorldtoUnityWorldScale.x, map.realWorldtoUnityWorldScale.y, 1.0f));
    }
    IEnumerator Start()
    {
        getMainMap().initialize();
        foreach (GameObject map in outerMaps)
        {
            getOuterMap(map).initialize();
        }

        yield return(StartCoroutine(player_loc._StartLocationService()));

        StartCoroutine(player_loc.RunLocationService());

        locationServicesIsRunning = player_loc.locServiceIsRunning;
        Debug.Log("Player loc from GameManager: " + player_loc.loc);

        GoogleStaticMap mainMap = getMainMap();

        mainMap.centerMercator = mainMap.tileCenterMercator(player_loc.loc);
        mainMap.DrawMap();

        mainMap.transform.localScale = Vector3.Scale(
            new Vector3(mainMap.mapRectangle.getWidthMeters(), mainMap.mapRectangle.getHeightMeters(), 1),
            new Vector3(mainMap.realWorldtoUnityWorldScale.x, mainMap.realWorldtoUnityWorldScale.y, 1));

        getOuterMap(outerMaps[0]).centerMercator = newCenterMercator(mainMap, NW);
        getOuterMap(outerMaps[1]).centerMercator = newCenterMercator(mainMap, NW, NE);
        getOuterMap(outerMaps[2]).centerMercator = newCenterMercator(mainMap, NE);
        getOuterMap(outerMaps[3]).centerMercator = newCenterMercator(mainMap, NE, SE);
        getOuterMap(outerMaps[4]).centerMercator = newCenterMercator(mainMap, SE);
        getOuterMap(outerMaps[5]).centerMercator = newCenterMercator(mainMap, SW, SE);
        getOuterMap(outerMaps[6]).centerMercator = newCenterMercator(mainMap, SW);
        getOuterMap(outerMaps[7]).centerMercator = newCenterMercator(mainMap, NW, SW);

        foreach (GameObject map in outerMaps)
        {
            getOuterMap(map).DrawMap();
        }

        for (int i = 0; i < outerMaps.Length; i++)
        {
            GameObject      map    = outerMaps[i];
            GoogleStaticMap mapMap = getOuterMap(map);
            map.transform.localScale = Vector3.Scale(
                new Vector3(mapMap.mapRectangle.getWidthMeters(), mapMap.mapRectangle.getHeightMeters(), 1F),
                new Vector3(mapMap.realWorldtoUnityWorldScale.x, mapMap.realWorldtoUnityWorldScale.y, 1F));
            setNewPos(i);
        }

        player.GetComponent <ObjectPosition>().setPositionOnMap(player_loc.loc);

        GameObject[] objectsOnMap = GameObject.FindGameObjectsWithTag("ObjectOnMap");

        foreach (GameObject obj in objectsOnMap)
        {
            obj.GetComponent <ObjectPosition>().setPositionOnMap();
        }
    }
Esempio n. 3
0
 void onEnterScene(bool flag)
 {
     if (flag)
     {
         goog = new GoogleStaticMap();
         goog.initialize();
         goog.DrawMap();
         goog.DrawMapGUI();
     }
 }
    void Update()
    {
        if (!locationServicesIsRunning)
        {
            mapLoc.text = "Location Service is not enabled.\nLatitude: " + player_loc.loc.lat_d + ", Longitude: " + player_loc.loc.lon_d;
            //TODO: Show location service is not enabled error.
            return;
        }

        // playerGeoPosition = getMainMapMap ().getPositionOnMap(new Vector2(player.transform.position.x, player.transform.position.z));
        playerGeoPosition = new GeoPoint();
        // GeoPoint playerGeoPosition = getMainMapMap ().getPositionOnMap(new Vector2(player.transform.position.x, player.transform.position.z));
        if (playerStatus == PlayerStatus.TiedToDevice)
        {
            playerGeoPosition = player_loc.loc;
            player.GetComponent <ObjectPosition>().setPositionOnMap(playerGeoPosition);
        }
        else if (playerStatus == PlayerStatus.FreeFromDevice)
        {
            playerGeoPosition = getOuterMap(mainMap).getPositionOnMap(new Vector2(player.transform.position.x, player.transform.position.z));
        }

        GoogleStaticMap.MyPoint tileCenterMercator = getOuterMap(mainMap).tileCenterMercator(playerGeoPosition);
        mapLoc.text = tileCenterMercator.ToString() + "\nLatitude: " + player_loc.loc.lat_d + ", Longitude: " + player_loc.loc.lon_d;

        if (!getOuterMap(mainMap).centerMercator.isEqual(tileCenterMercator))
        {
            // Re-add original map tile system, have outer maps generate each time around the current main map

            newMap.SetActive(true);
            GoogleStaticMap newMapMap = getNewMap();
            newMapMap.initialize();
            newMapMap.centerMercator = tileCenterMercator;
            newMapMap.DrawMap();
            newMapMap.transform.localScale = Vector3.Scale(
                new Vector3(newMapMap.mapRectangle.getWidthMeters(), newMapMap.mapRectangle.getHeightMeters(), 1),
                new Vector3(newMapMap.realWorldtoUnityWorldScale.x, newMapMap.realWorldtoUnityWorldScale.y, 1));

            Vector2 tempPosition = getMainMap().getPositionOnMap(newMapMap.centerLatLon);
            newMap.transform.position = new Vector3(tempPosition.x, 0, tempPosition.y);

            GameObject temp = newMap;
            newMap  = mainMap;
            mainMap = temp;

            foreach (GameObject map in outerMaps)
            {
                getOuterMap(map).initialize();
            }

            getOuterMap(outerMaps[0]).centerMercator = newCenterMercator(getOuterMap(mainMap), NW);
            getOuterMap(outerMaps[1]).centerMercator = newCenterMercator(getOuterMap(mainMap), NW, NE);
            getOuterMap(outerMaps[2]).centerMercator = newCenterMercator(getOuterMap(mainMap), NE);
            getOuterMap(outerMaps[3]).centerMercator = newCenterMercator(getOuterMap(mainMap), NE, SE);
            getOuterMap(outerMaps[4]).centerMercator = newCenterMercator(getOuterMap(mainMap), SE);
            getOuterMap(outerMaps[5]).centerMercator = newCenterMercator(getOuterMap(mainMap), SW, SE);
            getOuterMap(outerMaps[6]).centerMercator = newCenterMercator(getOuterMap(mainMap), SW);
            getOuterMap(outerMaps[7]).centerMercator = newCenterMercator(getOuterMap(mainMap), NW, SW);

            foreach (GameObject map in outerMaps)
            {
                getOuterMap(map).DrawMap();
            }

            for (int i = 0; i < outerMaps.Length; i++)
            {
                GameObject      map    = outerMaps[i];
                GoogleStaticMap mapMap = getOuterMap(map);
                map.transform.localScale = Vector3.Scale(
                    new Vector3(mapMap.mapRectangle.getWidthMeters(), mapMap.mapRectangle.getHeightMeters(), 1F),
                    new Vector3(mapMap.realWorldtoUnityWorldScale.x, mapMap.realWorldtoUnityWorldScale.y, 1F));
                setNewPos(i);
            }
        }
        if (getMainMap().isDrawn&& !mainMap.GetComponent <MeshRenderer>().enabled)
        {
            mainMap.GetComponent <MeshRenderer>().enabled = true;
            newMap.GetComponent <MeshRenderer>().enabled  = false;
            newMap.SetActive(false);
        }
    }