Esempio n. 1
0
    public void OnPointerDown(PointerEventData eventData)
    {
        if (marker == null)
        {
            marker = GetComponentInParent <POIMarker>();
        }

        marker.OnClickPOI?.Invoke(marker);
    }
Esempio n. 2
0
    void Start()
    {
        defaultZoom = OnlineMaps.instance.zoom;

        // Add OnClick events to dynamic markers
        dynamicMarker = OnlineMapsMarker3DManager.CreateItem(Longitude_User, Latitude_User, POIManager.instance.POI_Prefab);
        dynamicMarker.instance.name = string.Format("Marker_{0}", POI_Name);
        //dynamicMarker.OnClick += OnMarkerClick;
        //dynamicMarker.label = POI_Name;
        //dynamicMarker.SetDraggable();
        SpriteRenderer render = dynamicMarker.instance.GetComponentInChildren <SpriteRenderer>();

        render.sprite = ColorMarker == null ? render.sprite : ColorMarker;

        POIMarker markerPOI = dynamicMarker.instance.AddComponent <POIMarker>();

        markerPOI.data        = this;
        markerPOI.OnClickPOI += OnMarkerClick;

        //Subscribe to zoom change
        OnlineMaps.instance.OnChangeZoom += OnChangeZoom;
    }
Esempio n. 3
0
 private void OnMarkerClick(POIMarker markerPOI)
 {
     InfoBoxLayout.instance.OpenInfoBoxWithPOI(this);
 }
Esempio n. 4
0
        /*
         * События страницы
         */
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            // обрабатываем передачу данных со страницы добавления POI
            if (PhoneApplicationService.Current.State.ContainsKey("type"))
            {
                // предыдущая страница передала данные
                string type = PhoneApplicationService.Current.State["type"] as string;

                if (type == null)
                {
                    // удаляем пару с ключом type из состояния приложения
                    PhoneApplicationService.Current.State.Remove("type");
                    return;
                }

                if (type.Equals("PoiSettings"))
                {
                    // данные передала страница натроек POI
                    POIMarker newPoiMarker = new POIMarker();

                    string location = PhoneApplicationService.Current.State["location"] as string;

                    if (location == null)
                        return;

                    if (location.Equals("me"))
                    {
                        // записываем в качестве места текущее местоположение пользователя
                        newPoiMarker.Coordinate = myMapMarker.Coordinate;
                    }
                    else if (location.Equals("marker"))
                    {
                        // записываем в качестве места координаты ближайшего маркера поиска

                    }
                    else
                    {
                        // считываем переданные координаты
                        double latitude = (double)PhoneApplicationService.Current.State["latitude"];
                        double longitude = (double)PhoneApplicationService.Current.State["longitude"];
                        newPoiMarker.Coordinate = new GeoCoordinate(latitude, longitude);
                        // удаляем из состояния приложения
                        PhoneApplicationService.Current.State.Remove("latitude");
                        PhoneApplicationService.Current.State.Remove("longitude");
                    }
                    // удаляем пару с ключом location из состояния прилоежния
                    PhoneApplicationService.Current.State.Remove("location");

                    // тип маркера
                    newPoiMarker.Kind = (MarkerKind)PhoneApplicationService.Current.State["markerKind"];
                    // удаляем из состояния приложения
                    PhoneApplicationService.Current.State.Remove("markerKind");

                    // получаем название и описание POI
                    newPoiMarker.Name = (string)PhoneApplicationService.Current.State["poiName"];
                    newPoiMarker.Description = (string)PhoneApplicationService.Current.State["poiDescription"];
                    // удаляем из состояния приложения
                    PhoneApplicationService.Current.State.Remove("poiName");
                    PhoneApplicationService.Current.State.Remove("poiDescription");

                    // получаем комментарий пользователя
                    newPoiMarker.Comment = (string)PhoneApplicationService.Current.State["poiComment"];
                    // удаляем из состояния приложения
                    PhoneApplicationService.Current.State.Remove("poiComment");

                    // добавляем прочие настройки к POI: параетры пользователя, например.
                }
                // удаляем пару с ключом type из состояния приложения
                PhoneApplicationService.Current.State.Remove("type");
            }
        }