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)); } } }