Beispiel #1
0
 void SetImage()
 {
     // Find a matching layer to render
     if (Overlay.MapOverlay.MediaElement != null &&
         Image != null)
     {
         Image.LoadMedia(Overlay.MapOverlay.MediaElement);
     }
 }
Beispiel #2
0
        void SetSize()
        {
            if (m_tileDriver.Zoom != m_lastZoom)
            {
                var hscale = m_tileDriver.GetDistanceScale(m_mapView.CenterCoordinates, Overlay.Area.Width);
                var vscale = m_tileDriver.GetDistanceScale(m_mapView.CenterCoordinates, Overlay.Area.Height);

                var xscale = (float)hscale * MapController.Instance.MapX.magnitude;
                var yscale = (float)vscale * MapController.Instance.MapY.magnitude;

                //Logger.PrintMessage(LogLevel.Debug, "hs={0} vs={1} xs={2} ys={3}",
                //    hscale, vscale, xscale, yscale);

                transform.localScale = new Vector2(xscale, yscale);

                //m_lastRange = Range;
                m_lastZoom = m_tileDriver.Zoom;

                MediaElement media = null;

                // Find a matching layer to render
                if (Overlay.Overlay.MapOverlayLayers != null)
                {
                    foreach (var layer in Overlay.Overlay.MapOverlayLayers)
                    {
                        if (layer.ZoomRange == null ||
                            (layer.ZoomRange != null &&
                             layer.ZoomRange.IsInRange(m_lastZoom)))
                        {
                            media = layer.MediaElement;

                            break;
                        }
                    }
                }

                if (Image &&
                    media != null &&
                    media.MediaUrl != null &&
                    media.MediaUrl != m_lastUrl)
                {
                    m_lastUrl = media.MediaUrl;

                    Image.LoadMedia(media);
                }
            }
        }