protected override void AfterUpdate() { base.AfterUpdate(); if (api.showMarkerTooltip == OnlineMapsShowMarkerTooltip.onHover) { OnlineMapsMarkerInstanceBase markerInstance = GetBillboardMarkerFromScreen(Input.mousePosition); if (markerInstance != null) { api.tooltip = markerInstance.marker.label; api.tooltipMarker = markerInstance.marker; } } if (allowAddMarker3DByN && Input.GetKeyUp(KeyCode.N)) { OnlineMapsMarker3D m = new OnlineMapsMarker3D { position = GetCoords(), scale = marker3DScale, control = this }; m.Init(transform); double tlx, tly, brx, bry; api.GetTopLeftPosition(out tlx, out tly); api.GetBottomRightPosition(out brx, out bry); m.Update(tlx, tly, brx, bry, api.zoom); List <OnlineMapsMarker3D> markerList = markers3D.ToList(); markerList.Add(m); markers3D = markerList.ToArray(); } }
/// <summary> /// Adds a new 3D marker on the map. /// </summary> /// <param name="markerLng">Marker longitude.</param> /// <param name="markerLat">Marker latitude.</param> /// <param name="prefab">Marker prefab.</param> /// <returns>Marker instance.</returns> public OnlineMapsMarker3D AddMarker3D(double markerLng, double markerLat, GameObject prefab) { OnlineMapsMarker3D marker; if (OnAddMarker3D != null) { marker = OnAddMarker3D(markerLng, markerLat, prefab); if (marker != null) { return(marker); } } Array.Resize(ref markers3D, markers3D.Length + 1); marker = new OnlineMapsMarker3D { prefab = prefab, control = this, scale = marker3DScale, allowDefaultMarkerEvents = allowDefaultMarkerEvents }; marker.SetPosition(markerLng, markerLat); marker.Init(transform); markers3D[markers3D.Length - 1] = marker; if (OnMarker3DAdded != null) { OnMarker3DAdded(marker); } return(marker); }
protected override void AfterUpdate() { RaycastHit hit; if (Physics.Raycast(activeCamera.ScreenPointToRay(Input.mousePosition), out hit)) { OnlineMapsMarker3DInstance instance = hit.collider.gameObject.GetComponent<OnlineMapsMarker3DInstance>(); if (instance != null) { api.tooltip = instance.marker.label; api.tooltipMarker = instance.marker; } } if (allowAddMarker3DByN && Input.GetKeyUp(KeyCode.N)) { OnlineMapsMarker3D m = new OnlineMapsMarker3D { position = GetCoords() }; m.Init(transform); m.Update(api.topLeftPosition, api.bottomRightPosition, api.zoom); List<OnlineMapsMarker3D> markerList = markers3D.ToList(); markerList.Add(m); markers3D = markerList.ToArray(); } }
/// <summary> /// Adds a new 3D marker on the map. /// </summary> /// <param name="markerLng">Marker longitude.</param> /// <param name="markerLat">Marker latitude.</param> /// <param name="prefab">Marker prefab.</param> /// <returns>Marker instance.</returns> public OnlineMapsMarker3D AddMarker3D(double markerLng, double markerLat, GameObject prefab) { OnlineMapsMarker3D marker; if (OnAddMarker3D != null) { marker = OnAddMarker3D(markerLng, markerLat, prefab); if (marker != null) { return(marker); } } List <OnlineMapsMarker3D> ms = markers3D.ToList(); marker = new OnlineMapsMarker3D { prefab = prefab, control = this, scale = marker3DScale, allowDefaultMarkerEvents = allowDefaultMarkerEvents }; marker.SetPosition(markerLng, markerLat); marker.Init(transform); ms.Add(marker); markers3D = ms.ToArray(); return(marker); }
/// <summary> /// Adds a new 3D marker on the map. /// </summary> /// <param name="markerPosition">Vector2. X - Longituge, Y - Latitude.</param> /// <param name="prefab">Marker prefab.</param> /// <returns>Marker instance.</returns> public OnlineMapsMarker3D AddMarker3D(Vector2 markerPosition, GameObject prefab) { List<OnlineMapsMarker3D> ms = markers3D.ToList(); OnlineMapsMarker3D marker = new OnlineMapsMarker3D { position = markerPosition, prefab = prefab }; marker.Init(transform); ms.Add(marker); markers3D = ms.ToArray(); return marker; }
/// <summary> /// Adds a new 3D marker on the map. /// </summary> /// <param name="markerPosition">Vector2. X - Longituge, Y - Latitude.</param> /// <param name="prefab">Marker prefab.</param> /// <returns>Marker instance.</returns> public OnlineMapsMarker3D AddMarker3D(Vector2 markerPosition, GameObject prefab) { List <OnlineMapsMarker3D> ms = markers3D.ToList(); OnlineMapsMarker3D marker = new OnlineMapsMarker3D { position = markerPosition, prefab = prefab, control = this, scale = marker3DScale, allowDefaultMarkerEvents = allowDefaultMarkerEvents }; marker.Init(transform); ms.Add(marker); markers3D = ms.ToArray(); return(marker); }
protected override void AfterUpdate() { base.AfterUpdate(); Vector2 inputPosition = GetInputPosition(); if (allowCameraControl) { #if (!UNITY_ANDROID && !UNITY_IPHONE) || UNITY_EDITOR if (Input.GetMouseButton(1)) { isCameraControl = true; if (lastInputPosition != inputPosition && lastInputPosition != Vector2.zero) { Vector2 offset = lastInputPosition - inputPosition; cameraRotation.x -= offset.y / 10f * cameraSpeed.x; cameraRotation.y -= offset.x / 10f * cameraSpeed.y; } lastInputPosition = inputPosition; } else if (isCameraControl) { lastInputPosition = Vector2.zero; isCameraControl = false; } #else if (!allowZoom && allowCameraControl) { if (Input.touchCount == 2) { Vector2 p1 = Input.GetTouch(0).position; Vector2 p2 = Input.GetTouch(1).position; Vector2 center = Vector2.Lerp(p1, p2, 0.5f); if (lastGestureCenter == Vector2.zero) { lastGestureCenter = center; } else if (lastGestureCenter != center) { Vector2 offset = lastGestureCenter - center; cameraRotation.x -= offset.y / 10f * cameraSpeed.x; cameraRotation.y -= offset.x / 10f * cameraSpeed.y; lastGestureCenter = center; } lastInputPosition = center; } else { lastGestureCenter = Vector2.zero; } } #endif UpdateCameraPosition(); } if (map.showMarkerTooltip == OnlineMapsShowMarkerTooltip.onHover) { OnlineMapsMarkerInstanceBase markerInstance = GetBillboardMarkerFromScreen(inputPosition); if (markerInstance != null) { map.tooltip = markerInstance.marker.label; map.tooltipMarker = markerInstance.marker; } } if (allowAddMarker3DByN && Input.GetKeyUp(KeyCode.N)) { OnlineMapsMarker3D m = new OnlineMapsMarker3D { position = GetCoords(), scale = marker3DScale, prefab = default3DMarker, instance = default3DMarker != null?Instantiate(default3DMarker) as GameObject : null, control = this }; m.Init(transform); m.Update(); if (markers3D == null) { markers3D = new OnlineMapsMarker3D[0]; } Array.Resize(ref markers3D, markers3D.Length + 1); markers3D[markers3D.Length - 1] = m; } }
protected override void AfterUpdate() { base.AfterUpdate(); if (api.showMarkerTooltip == OnlineMapsShowMarkerTooltip.onHover) { OnlineMapsMarkerInstanceBase markerInstance = GetBillboardMarkerFromScreen(Input.mousePosition); if (markerInstance != null) { api.tooltip = markerInstance.marker.label; api.tooltipMarker = markerInstance.marker; } } if (allowAddMarker3DByN && Input.GetKeyUp(KeyCode.N)) { OnlineMapsMarker3D m = new OnlineMapsMarker3D { position = GetCoords(), scale = marker3DScale, control = this }; m.Init(transform); double tlx, tly, brx, bry; api.GetTopLeftPosition(out tlx, out tly); api.GetBottomRightPosition(out brx, out bry); m.Update(tlx, tly, brx, bry, api.zoom); List<OnlineMapsMarker3D> markerList = markers3D.ToList(); markerList.Add(m); markers3D = markerList.ToArray(); } }
/// <summary> /// Adds a new 3D marker on the map. /// </summary> /// <param name="markerPosition">Vector2. X - Longituge, Y - Latitude.</param> /// <param name="prefab">Marker prefab.</param> /// <returns>Marker instance.</returns> public OnlineMapsMarker3D AddMarker3D(Vector2 markerPosition, GameObject prefab) { List<OnlineMapsMarker3D> ms = markers3D.ToList(); OnlineMapsMarker3D marker = new OnlineMapsMarker3D { position = markerPosition, prefab = prefab, control = this, scale = marker3DScale, allowDefaultMarkerEvents = allowDefaultMarkerEvents }; marker.Init(transform); ms.Add(marker); markers3D = ms.ToArray(); return marker; }