public void OnClickMark(object obj) { OnlineMapsMarker mark = (OnlineMapsMarker)obj; GoogleMap.Marker m = (GoogleMap.Marker)(mark.customData); Map.Instance.OnClickService(m.id, m.label, m.image, m.endereco, m.distance, m.geoPos); }
public override void Show(params object[] args) { base.Show(args); MyDebug.Log(jsonData); SimpleJSON.JSONNode json = SimpleJSON.JSON.ParseFromWeb(jsonData); json = (json["data"] == null) ? json["service"] : json["data"]; m_markers.Clear(); GoogleMap.Marker m = null; frameServico.anchoredPosition = new Vector2(0, m_wantedY); Vector2 center = Vector2.zero; Vector2 upperLeft = Vector2.zero; Vector2 bottonRight = Vector2.zero; for (int i = 0; i < json.Count; i++) { m = new GoogleMap.Marker(); m.label = json[i]["name"].Value; m.endereco = json[i]["end_endereco"].Value + "\n" + json[i]["end_bairro"].Value; m.distance = FreeHelp.Instance.GetKM(json[i]["distance"].AsFloat); m.geoPos = new Vector2(json[i]["longitude"].AsFloat, json[i]["latitude"].AsFloat); m.id = json[i]["id"].AsInt; m.image = json[i]["image"].Value; m_markers.Add(m); if (i == 0) { upperLeft = m.geoPos; bottonRight = m.geoPos; } if (m.geoPos.x < upperLeft.x) { upperLeft.x = m.geoPos.x; } if (m.geoPos.x > bottonRight.x) { bottonRight.x = m.geoPos.x; } if (m.geoPos.y < upperLeft.y) { upperLeft.y = m.geoPos.y; } if (m.geoPos.y > bottonRight.y) { bottonRight.y = m.geoPos.y; } center += m.geoPos; OnClickService(m.id, m.label, m.image, m.endereco, m.distance, m.geoPos); } float distance = 15.0f / GeoLocation.distance * 20.0f; if (distance < 6) { distance = 6; } MyDebug.Log("distance = " + GeoLocation.distance); center /= json.Count; int zoom = 11; //GoogleMap.Instance.SetPosition(m.geoPos, zoom); if (GeoLocation.posicaoEncontrada) { GoogleMap.Instance.SetPosition(center, zoom); } else { GoogleMap.Instance.SetPosition(GeoLocation.position, zoom); } GoogleMap.Instance.SetMarkers(m_markers.ToArray()); UpperBar.Instance.btnViewMap.SetActive(false); UpperBar.Instance.btnViewList.SetActive(false); btnCenterMap.gameObject.SetActive(GeoLocation.posicaoEncontrada); if (m_markers.Count == 1) { OnClickService(m_markers[0]); Invoke("OnClickFirstService", 0.15f); } }
public void OnClickService(GoogleMap.Marker marker) { OnClickService(marker.id, marker.label, marker.image, marker.endereco, marker.distance, marker.geoPos); }