예제 #1
0
 void onEnterScene(bool flag)
 {
     if (flag)
     {
         goog = new GoogleStaticMap();
         goog.initialize();
         goog.DrawMap();
         goog.DrawMapGUI();
     }
 }
예제 #2
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));
    }
예제 #3
0
    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);
        }
    }