public class FeatureDataStoreDeepMapItemQuery extends java.lang.Object implements DeepMapItemQuery, DeepHitTestControlQuery
Modifier and Type | Field and Description |
---|---|
protected long |
groupId |
protected Layer2 |
layer |
protected boolean |
noVisibilitySupport |
protected FeatureDataStore2 |
spatialDb |
protected java.lang.String |
uidPrefix |
Constructor and Description |
---|
FeatureDataStoreDeepMapItemQuery(FeatureLayer layer) |
FeatureDataStoreDeepMapItemQuery(FeatureLayer2 layer) |
FeatureDataStoreDeepMapItemQuery(FeatureLayer3 layer) |
FeatureDataStoreDeepMapItemQuery(Layer2 layer,
FeatureDataStore2 db) |
Modifier and Type | Method and Description |
---|---|
MapItem |
deepFindClosestItem(GeoPoint location,
double threshold,
java.util.Map<java.lang.String,java.lang.String> metadata)
Finds the closest MapItem to the specified point, that falls within the specified threshold.
|
MapItem |
deepFindItem(java.util.Map<java.lang.String,java.lang.String> metadata) |
java.util.Collection<MapItem> |
deepFindItems(GeoBounds bounds,
java.util.Map<java.lang.String,java.lang.String> metadata)
Find map items within given boundaries
|
java.util.Collection<MapItem> |
deepFindItems(GeoPoint location,
double radius,
java.util.Map<java.lang.String,java.lang.String> metadata)
Find map items within a given area
|
java.util.List<MapItem> |
deepFindItems(java.util.Map<java.lang.String,java.lang.String> metadata) |
MapItem |
deepHitTest(int xpos,
int ypos,
GeoPoint point,
MapView view)
Perform a hit-test for map items
|
java.util.SortedSet<MapItem> |
deepHitTest(MapView mapView,
HitTestQueryParameters params,
java.util.Map<Layer2,java.util.Collection<HitTestControl>> controls)
Perform a hit test with access to hit test controls
NOTE: This is called on the GL thread with a lock on the map controls
Do NOT call
MapRenderer3#visitControl(Layer2, Visitor, Class)
or any related method here or else the app will deadlock. |
java.util.SortedSet<MapItem> |
deepHitTestItems(int xpos,
int ypos,
GeoPoint point,
MapView view)
Perform a hit-test for map items
|
protected java.util.SortedSet<MapItem> |
deepHitTestItemsImpl(int xpos,
int ypos,
GeoPoint point,
MapView view,
int limit)
|
protected MapItem |
featureToMapItem(Feature feature) |
protected static java.lang.String |
getFeatureUID(FeatureDataStore2 spatialDb,
long featureId) |
protected static java.lang.String |
getFeatureUID(FeatureDataStore spatialDb,
long featureId) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
deepHitTest
protected long groupId
protected final FeatureDataStore2 spatialDb
protected final Layer2 layer
protected final java.lang.String uidPrefix
protected final boolean noVisibilitySupport
public FeatureDataStoreDeepMapItemQuery(FeatureLayer layer)
public FeatureDataStoreDeepMapItemQuery(FeatureLayer2 layer)
public FeatureDataStoreDeepMapItemQuery(FeatureLayer3 layer)
public FeatureDataStoreDeepMapItemQuery(Layer2 layer, FeatureDataStore2 db)
public MapItem deepFindItem(java.util.Map<java.lang.String,java.lang.String> metadata)
deepFindItem
in interface DeepMapItemQuery
public java.util.List<MapItem> deepFindItems(java.util.Map<java.lang.String,java.lang.String> metadata)
deepFindItems
in interface DeepMapItemQuery
public MapItem deepFindClosestItem(GeoPoint location, double threshold, java.util.Map<java.lang.String,java.lang.String> metadata)
DeepMapItemQuery
deepFindClosestItem
in interface DeepMapItemQuery
location
- The locationthreshold
- The search threshold, in meters. Only items that are within this distance
from the point are considered. If no threshold is desired, the value
0.0d
should be specified.metadata
- Extra query metadatapublic java.util.Collection<MapItem> deepFindItems(GeoPoint location, double radius, java.util.Map<java.lang.String,java.lang.String> metadata)
DeepMapItemQuery
deepFindItems
in interface DeepMapItemQuery
location
- Geodetic locationradius
- Radius in metersmetadata
- Extra query metadatapublic java.util.Collection<MapItem> deepFindItems(GeoBounds bounds, java.util.Map<java.lang.String,java.lang.String> metadata)
DeepMapItemQuery
deepFindItems
in interface DeepMapItemQuery
bounds
- Geodetic boundariesmetadata
- Extra query metadataprotected MapItem featureToMapItem(Feature feature)
public java.util.SortedSet<MapItem> deepHitTest(MapView mapView, HitTestQueryParameters params, java.util.Map<Layer2,java.util.Collection<HitTestControl>> controls)
DeepHitTestControlQuery
MapRenderer3#visitControl(Layer2, Visitor, Class)
or any related method here or else the app will deadlock.
This is why the controls are provided upfront.deepHitTest
in interface DeepHitTestControlQuery
mapView
- Map viewparams
- Hit test parameterscontrols
- Hit test controls mapped by layerpublic MapItem deepHitTest(int xpos, int ypos, GeoPoint point, MapView view)
DeepMapItemQuery
deepHitTest
in interface DeepMapItemQuery
xpos
- X-positionypos
- Y-positionpoint
- Ppoint on the map that was touchedview
- Map viewpublic java.util.SortedSet<MapItem> deepHitTestItems(int xpos, int ypos, GeoPoint point, MapView view)
DeepMapItemQuery
deepHitTestItems
in interface DeepMapItemQuery
xpos
- X-positionypos
- Y-positionpoint
- Ppoint on the map that was touchedview
- Map view@Deprecated protected java.util.SortedSet<MapItem> deepHitTestItemsImpl(int xpos, int ypos, GeoPoint point, MapView view, int limit)
protected static java.lang.String getFeatureUID(FeatureDataStore spatialDb, long featureId)
protected static java.lang.String getFeatureUID(FeatureDataStore2 spatialDb, long featureId)