Example #1
0
    private void UpdatePoint(GameObject datapoint)
    {
        MapDataPoint dataPointScript = datapoint.GetComponent <MapDataPoint>();
        Vector2d     latLng          = new Vector2d(dataPointScript.point.point[1], dataPointScript.point.point[0]);
        Vector3      pos             = map.GeoToWorldPosition(latLng, false);

        datapoint.transform.position = pos;
        dataPointScript.ResetPosition();
        if (boundingBox.Contains(pos))
        {
            datapoint.SetActive(true);
        }
        else
        {
            datapoint.SetActive(false);
        }

        if (zoomMap != null && zoomMap.activeSelf)
        {
            Bounds zoombb = zoomMap.GetComponent <DataHandler>().boundingBox;
            zoombb.min = new Vector3(zoombb.min.x, transform.position.y - 0.1f, zoombb.min.z);
            if (zoombb.Contains(pos))
            {
                dataPointScript.muted = true;
            }
            else
            {
                dataPointScript.muted = false;
            }
        }
        else
        {
            dataPointScript.muted = false;
        }

        MapDataPoint parameters     = datapoint.GetComponent <MapDataPoint>();
        var          secondaryField = DataLoader.secondaryField;
        var          primaryField   = DataLoader.primaryField;
        TimeValue    currentValue   = dataPointScript.point.values.Find(el => el.timestamp == date);

        if (primaryVizualizer != null)
        {
            if (currentValue != null)
            {
                FieldValue val = currentValue.fields.Find(el => el.id == primaryField.id);
                if (val != null)
                {
                    parameters.height = primaryVizualizer.getVizualization(float.Parse(val.value, CultureInfo.InvariantCulture));
                }
                else
                {
                    parameters.height = 0;
                }
            }
            else
            {
                parameters.height = 0;
            }
        }
        else
        {
            parameters.height = 1;
        }

        if (secondaryDiscreteVizualizer != null && currentValue != null)
        {
            FieldValue val = currentValue.fields.Find(el => el.id == secondaryField.id);
            if (val != null)
            {
                parameters.color = secondaryDiscreteVizualizer.getVizualization(val.value);
            }
        }
        else if (rangeColorVizualizer != null && currentValue != null)
        {
            FieldValue val = currentValue.fields.Find(el => el.id == secondaryField.id);
            if (val != null)
            {
                parameters.color = rangeColorVizualizer.getVizualization(float.Parse(val.value, CultureInfo.InvariantCulture));
            }
        }
    }