Package globus.glmap
Class GLMapVectorObject
- java.lang.Object
-
- globus.glmap.GLNativeObject
-
- globus.glmap.GLMapVectorObject
-
- All Implemented Interfaces:
GLMapTagsContainer
public class GLMapVectorObject extends GLNativeObject implements GLMapTagsContainer
GLMapVectorObjectis a bridge class, to work with GLMap internal representation of vector object.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceGLMapVectorObject.Type
-
Field Summary
Fields Modifier and Type Field Description GLMapDrawAttributesdrawAttributes
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringasGeoJSON()Serialize object as GeoJSONintcompare(GLMapVectorObject other)static java.lang.ObjectcreateFromGeoJSONOrError(java.lang.String geoJSON)Creates an array of GLMapVectorObject from stringstatic GLMapVectorObjectListcreateFromGeoJSONOrThrow(java.lang.String geoJSON)static java.lang.ObjectcreateFromGeoJSONStreamOrError(java.io.InputStream geoJSON)Creates an array of GLMapVectorObject from streamstatic GLMapVectorObjectListcreateFromGeoJSONStreamOrThrow(java.io.InputStream geoJSON)static GLMapVectorObjectcreateGeoLine(MapPoint start, MapPoint end, double quality)Adds big circle line from `start` to `end`.static GLMapVectorObjectcreateGeoPoint(MapGeoPoint point)static GLMapVectorObjectcreateMultiline(MapPoint[][] multilinePoints)Loads multiline geometry to vector objectstatic GLMapVectorObjectcreateMultilineGeo(MapGeoPoint[][] multilinePoints)static GLMapVectorObjectcreatePoint(MapPoint point)Loads point to vector objectstatic GLMapVectorObjectcreatePolygon(MapPoint[][] outerRings, MapPoint[][] innerRings)Loads polygon geometry to vector object.static GLMapVectorObjectcreatePolygonGeo(MapGeoPoint[][] outerRings, MapGeoPoint[][] innerRings)booleanequals(java.lang.Object other)MapPointfindNearestPoint(GLMapViewRenderer renderer, MapPoint point, double distanceInPoints)Calculates nearest point of vector object from given pointGLMapBBoxgetBBox()Returns bbox of objectMapGeoPoint[][]getMultilineGeoPoints()MapPoint[][]getMultilinePoints()Returns points of multiline for object with type of TYPE_LINEintgetType()Returns type of objectinthashCode()GLMapValuelocalizedName(GLMapLocaleSettings localeSettings)Returns localized name.MapPointpoint()voidsetValueForKey(java.lang.String key, java.lang.String value)Sets value for keybooleanupdateDrawAttributes(GLMapVectorCascadeStyle style, GLMapLocaleSettings localeSettings, int zoomLevel)Updates draw attributesbooleanupdateDrawAttributes(GLMapViewRenderer mapView)Updates draw attributesbooleanupdateDrawAttributes(GLMapViewRenderer mapView, GLMapVectorCascadeStyle style)Updates draw attributesGLMapValuevalueForKey(java.lang.String key)Returns value for the keyGLMapValue[]valuesForKey(java.lang.String key)Returns values for the key-
Methods inherited from class globus.glmap.GLNativeObject
dispose
-
-
-
-
Field Detail
-
drawAttributes
@Nullable public GLMapDrawAttributes drawAttributes
-
-
Method Detail
-
compare
public int compare(@Nullable GLMapVectorObject other)
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(@Nullable java.lang.Object other)- Overrides:
equalsin classjava.lang.Object
-
createFromGeoJSONOrError
public static java.lang.Object createFromGeoJSONOrError(@NonNull java.lang.String geoJSON)Creates an array of GLMapVectorObject from string- Parameters:
geoJSON- source string with geo JSON data- Returns:
- objects constructed from geo JSON data
-
createFromGeoJSONOrThrow
public static GLMapVectorObjectList createFromGeoJSONOrThrow(@NonNull java.lang.String geoJSON) throws java.lang.Exception
- Throws:
java.lang.Exception
-
createFromGeoJSONStreamOrError
@Nullable public static java.lang.Object createFromGeoJSONStreamOrError(@NonNull java.io.InputStream geoJSON)Creates an array of GLMapVectorObject from stream- Parameters:
geoJSON- stream with geo JSON data- Returns:
- objects constructed from geo JSON data
-
createFromGeoJSONStreamOrThrow
@NonNull public static GLMapVectorObjectList createFromGeoJSONStreamOrThrow(@NonNull java.io.InputStream geoJSON) throws java.lang.Exception
- Throws:
java.lang.Exception
-
createMultiline
@NonNull public static GLMapVectorObject createMultiline(@NonNull MapPoint[][] multilinePoints)
Loads multiline geometry to vector objectMapPoint[] line1 = new MapPoint[5]; line1[0] = new MapPoint(27.7151, 53.8869); // Minsk line1[1] = new MapPoint(30.5186, 50.4339); // Kiev line1[2] = new MapPoint(21.0103, 52.2251); // Warsaw line1[3] = new MapPoint(13.4102, 52.5037); // Berlin line1[4] = new MapPoint(2.3343, 48.8505); // Paris MapPoint[] line2 = new MapPoint[3]; line2[0] = new MapPoint(4.9021, 52.3690); // Amsterdam line2[1] = new MapPoint(4.3458, 50.8263); // Brussel line2[2] = new MapPoint(6.1296, 49.6072); // Luxembourg MapPoint[][] multiline = {line1, line2}; obj.loadMultiline(multiline);- Parameters:
multilinePoints- Data to load to vector object- Returns:
- Created vector object with multiline
-
createMultilineGeo
@NonNull public static GLMapVectorObject createMultilineGeo(@NonNull MapGeoPoint[][] multilinePoints)
-
createPoint
@NonNull public static GLMapVectorObject createPoint(@NonNull MapPoint point)
Loads point to vector object- Parameters:
point- Data to load to vector object- Returns:
- Created vector object with multiline
-
createGeoPoint
@NonNull public static GLMapVectorObject createGeoPoint(@NonNull MapGeoPoint point)
-
createPolygon
@NonNull public static GLMapVectorObject createPolygon(@NonNull MapPoint[][] outerRings, @Nullable MapPoint[][] innerRings)
Loads polygon geometry to vector object.MapPoint[][] outerRings = {outerRing1, outerRing2}; MapPoint[][] innerRings = {innerRing}, innerRing2}; obj.loadPolygon(outerRings, innerRings);- Parameters:
outerRings- outer rings of polygon.innerRings- inner rings of polygons (holes).- Returns:
- Created vector object with polygon.
-
createPolygonGeo
@NonNull public static GLMapVectorObject createPolygonGeo(@NonNull MapGeoPoint[][] outerRings, @Nullable MapGeoPoint[][] innerRings)
-
createGeoLine
@NonNull public static GLMapVectorObject createGeoLine(@NonNull MapPoint start, @NonNull MapPoint end, double quality)
Adds big circle line from `start` to `end`. Useful to display plane routes. Should be used only on empty `GLMapVectorObject`- Parameters:
start- Start pointend- End pointquality- Maximum distance from point to line, used for simplification in Douglas Peucker algorithm. Units is map internal coordinates.- Returns:
- Created vector object with geo-line.
-
getType
public int getType()
Returns type of object- Returns:
- type of object
-
point
@NonNull public MapPoint point()
- Returns:
- some point that belongs to vector object.
-
getBBox
@NonNull public GLMapBBox getBBox()
Returns bbox of object- Returns:
- bbox of object
-
getMultilinePoints
@Nullable public MapPoint[][] getMultilinePoints()
Returns points of multiline for object with type of TYPE_LINE- Returns:
- points of multiline
-
getMultilineGeoPoints
@Nullable public MapGeoPoint[][] getMultilineGeoPoints()
-
asGeoJSON
@Nullable public java.lang.String asGeoJSON()
Serialize object as GeoJSON- Returns:
- GeoJSON string
-
findNearestPoint
@Nullable public MapPoint findNearestPoint(@NonNull GLMapViewRenderer renderer, @NonNull MapPoint point, double distanceInPoints)
Calculates nearest point of vector object from given point- Parameters:
renderer- where track is displayedpoint- Point from where calculate nearest pointdistanceInPoints- maximum distance from track in points- Returns:
- nearest point on track from given point or null if track is too far from given point
-
valueForKey
@Nullable public GLMapValue valueForKey(java.lang.String key)
Description copied from interface:GLMapTagsContainerReturns value for the key- Specified by:
valueForKeyin interfaceGLMapTagsContainer- Parameters:
key- Key of requested value- Returns:
- value associated with given key. (if loaded from geo JSON get values from "properties" section)
-
valuesForKey
@Nullable public GLMapValue[] valuesForKey(java.lang.String key)
Description copied from interface:GLMapTagsContainerReturns values for the key- Specified by:
valuesForKeyin interfaceGLMapTagsContainer- Parameters:
key- Key of requested values- Returns:
- array of values associated with given key
-
setValueForKey
public void setValueForKey(@NonNull java.lang.String key, @Nullable java.lang.String value)Description copied from interface:GLMapTagsContainerSets value for key- Specified by:
setValueForKeyin interfaceGLMapTagsContainer- Parameters:
key- Key of valuevalue- value to set
-
localizedName
@Nullable public GLMapValue localizedName(@NonNull GLMapLocaleSettings localeSettings)
Description copied from interface:GLMapTagsContainerReturns localized name.- Specified by:
localizedNamein interfaceGLMapTagsContainer- Parameters:
localeSettings- locale settings to use- Returns:
- name of object
-
updateDrawAttributes
public boolean updateDrawAttributes(@NonNull GLMapViewRenderer mapView, @Nullable GLMapVectorCascadeStyle style)Updates draw attributes- Parameters:
mapView- view where object is displayedstyle- style of object or null to use map view style- Returns:
- true if visible
-
updateDrawAttributes
public boolean updateDrawAttributes(@NonNull GLMapVectorCascadeStyle style, @NonNull GLMapLocaleSettings localeSettings, int zoomLevel)Updates draw attributes- Parameters:
style- style of objectlocaleSettings- locale settingszoomLevel- zoom to test- Returns:
- true if visible
-
updateDrawAttributes
public boolean updateDrawAttributes(@NonNull GLMapViewRenderer mapView)Updates draw attributes- Parameters:
mapView- view where object is displayed- Returns:
- true if visible
-
-