Welcome to mirror list, hosted at ThFree Co, Russian Federation.

BookmarkInfo.java « data « bookmarks « maps « mapswithme « com « src « android - github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: c0526a06b593c7ef3adb897a48ca9e7cf5c2ee97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
package com.mapswithme.maps.bookmarks.data;

import android.support.annotation.IntRange;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;

import com.mapswithme.maps.Framework;
import com.mapswithme.util.GeoUtils;
import com.mapswithme.util.sharing.ShareableInfoProvider;

public class BookmarkInfo implements ShareableInfoProvider
{
  private final long mCategoryId;
  private final long mBookmarkId;
  @NonNull
  private final String mTitle;
  @NonNull
  private final String mFeatureType;
  @NonNull
  private final Icon mIcon;
  private final double mMerX;
  private final double mMerY;
  private final double mScale;
  @NonNull
  private final String mAddress;
  @NonNull
  private final ParcelablePointD mLatLonPoint;

  public BookmarkInfo(@IntRange(from = 0) long categoryId, @IntRange(from = 0) long bookmarkId)
  {
    mCategoryId = categoryId;
    mBookmarkId = bookmarkId;
    mTitle = BookmarkManager.INSTANCE.getBookmarkName(mBookmarkId);
    mFeatureType = BookmarkManager.INSTANCE.getBookmarkFeatureType(mBookmarkId);
    mIcon = new Icon(BookmarkManager.INSTANCE.getBookmarkColor(mBookmarkId),
                     BookmarkManager.INSTANCE.getBookmarkIcon(mBookmarkId));
    final ParcelablePointD ll = BookmarkManager.INSTANCE.getBookmarkXY(mBookmarkId);
    mMerX = ll.x;
    mMerY = ll.y;
    mScale = BookmarkManager.INSTANCE.getBookmarkScale(mBookmarkId);
    mAddress = BookmarkManager.INSTANCE.getBookmarkAddress(mBookmarkId);
    mLatLonPoint = GeoUtils.toLatLon(mMerX, mMerY);
  }

  public long getCategoryId()
  {
    return mCategoryId;
  }

  public long getBookmarkId()
  {
    return mBookmarkId;
  }

  public DistanceAndAzimut getDistanceAndAzimuth(double cLat, double cLon, double north)
  {
    return Framework.nativeGetDistanceAndAzimuth(mMerX, mMerY, cLat, cLon, north);
  }

  @NonNull
  public String getFeatureType() { return mFeatureType; }

  @NonNull
  @Override
  public String getName()
  {
    return mTitle;
  }

  @NonNull
  public Icon getIcon()
  {
    return mIcon;
  }

  @NonNull
  public String getDistance(double latitude, double longitude, double v)
  {
    return getDistanceAndAzimuth(latitude, longitude, v).getDistance();
  }

  @Override
  public double getLat()
  {
    return mLatLonPoint.x;
  }

  @Override
  public double getLon()
  {
    return mLatLonPoint.y;
  }

  @Override
  public double getScale()
  {
    return mScale;
  }

  @NonNull
  @Override
  public String getAddress()
  {
    return mAddress;
  }
}