public final class NaviCoreUtil
extends java.lang.Object
限定符和类型 | 类和说明 |
---|---|
class |
NaviCoreUtil.BaseDataState |
class |
NaviCoreUtil.DistanceUnit
将距离转换为字符串时所使用的单位值枚举
|
class |
NaviCoreUtil.GisUnit
GIS地理信息系统中的单位制
被一些工具函数使用 |
限定符和类型 | 字段和说明 |
---|---|
static int |
JUST_ANY_ANGLE
任意角度
一般来说表示当前角度未知,或者某些特殊的如摄像头角度为任意角度可拍摄 |
构造器和说明 |
---|
NaviCoreUtil() |
限定符和类型 | 方法和说明 |
---|---|
static int |
angle(android.graphics.Point from,
android.graphics.Point to)
计算两个经纬度坐标点构成射线的角度,单位角度
|
static java.lang.String |
angle2DirectionString(int angle)
将角度转换为表示方向的字符串,将360度均分为16个方向,比如东、东偏北、东北、北偏东、北等
|
static byte[] |
authBase64decode(java.lang.String base64Str)
非标准的Base64解码函数,仅用于授权加密/解密。
|
static byte[] |
authDecryptFromFile(java.lang.String filePath)
文件解密方法,提供引擎授权认证的解密功能。
|
static java.lang.String |
buildPathInPacket(java.lang.String path)
在4.11.x及以后的引擎中,绘图相关的资源打包到packet.dat中,读取资源时需先调用此函数, 根据资源相对路径补全在包中的完整路径
资源相对路径及文件: --data/: 数据文件,包含world.pvf,世界缩略图用,客户端不需要调用 --icons/: 引擎所需的图标资源,id都小于1000 --models/: 3D模型文件,包含3D小车car_model.obj --map3_style_sheet.json: 3D地图配置文件 --map3ss_satellite.json: 卫星图配置文件 --poi_icons.png, poi_icons@h.png, poi_icons@m.png: POI图标文件 --street_view_logo.png: 街景图logo --stroke.png: PND使用的捷通手写资源文件 |
static int |
car2Map(int angle)
将车的角度转换成地图中的角度,一般用在
NaviSession.Event.tracking
消息中,将NaviSessionData.carOri
转换成地图中的角度,设置给相应的车对应的图标。 |
static int |
distance(android.graphics.Point p1,
android.graphics.Point p2)
计算两个经纬度坐标点的球面距离
|
static DistanceStringInfo |
distance2String(int distance,
int distanceUnit,
boolean withRound)
将表示长度的整数转换成用于显示的字符串
当前的语言和度量制不同时,得到的结果也会不同。 |
static android.graphics.Point |
encryptPoint(android.graphics.Point point)
将84坐标转换为02坐标
|
static java.lang.String |
formatRelativePosition(android.graphics.Point origin,
android.graphics.Point pt,
int distanceUnit,
boolean withRound)
格式化两个点的相对位置,比如"东偏北300米","东北2.4km"
|
static int |
getBaseDataState()
获取基础数据状态
NaviCoreUtil.BaseDataState |
static DateTime[] |
getSunriseSunsetTimeOfDay(DateTime datetime,
android.graphics.Point pos)
根据当前位置的经纬度和时间获取日出和日落时间
注意:参数中的DateTime需要使用UTC时间,请自行转换。 |
static void |
invalidatePoint(android.graphics.Point p)
将点设置为引擎中认定的无效值
|
static boolean |
isInvalidPoint(android.graphics.Point p)
判断当前点是否为无效点
|
static boolean |
isNight(DateTime datetime,
android.graphics.Point pos)
根据当前经纬度和时间判断当前是否为夜晚
注意:参数中的DateTime需要使用UTC时间,请自行转换。 |
static android.graphics.Point |
kcode2Point(java.lang.String kcode)
将加密字符串转换为坐标
|
static float |
len2NdsLen(float len)
经纬度坐标下的长度转换为NDS坐标下的长度
|
static int |
map2Car(int angle)
NaviCoreUtil#car2Map(int)的反向转换 |
static float |
ndsLen2Len(float ndsLen)
NDS坐标下的长度转换为经纬度坐标下的长度
|
static java.lang.String |
point2KCode(android.graphics.Point p)
将制定的经纬度转换为加密字符串
格式为:333-333-333,加密字串是由0~9个数字以及除了I和O以外的24个大写字母组成。 |
static void |
speak(java.lang.String text)
将输入的字符串转换成语音播报, 如果连续调用,将会将未播报的字符串加入队列,依次播报。
|
static void |
stopSpeak()
强制打断由
speak(String) 发起的语音播报请求,并清空请求队列 |
public static final int JUST_ANY_ANGLE
public static DistanceStringInfo distance2String(int distance, int distanceUnit, boolean withRound)
NaviCoreUtil.DistanceUnit.normal
时,单位的名称使用汉字:"公里"、"米"、"英里"、"英尺",其他情况,单位的名称用英文字母NaviCoreUtil.DistanceUnit.english
distance
- 表示长度的整型变量,单位:米distanceUnit
- 控制输出的字符串所使用的单位的形式NaviCoreUtil.DistanceUnit
。比如:"100"或"100米"或"100m"。withRound
- 控制输出的字符串是否四舍五入。比如:375米是否显示为350米,目前英制不支持四舍五入。DistanceStringInfo
DistanceStringInfo
public static int angle(android.graphics.Point from, android.graphics.Point to)
起点
- 终点
- public static int distance(android.graphics.Point p1, android.graphics.Point p2)
p1
- 经纬度坐标1p2
- 经纬度坐标2public static int getBaseDataState()
NaviCoreUtil.BaseDataState
NaviCoreUtil.BaseDataState
public static android.graphics.Point encryptPoint(android.graphics.Point point)
point
- 84经纬度坐标public static void invalidatePoint(android.graphics.Point p)
p
- 需要设置的点public static boolean isInvalidPoint(android.graphics.Point p)
p
- 需要判定的点public static java.lang.String point2KCode(android.graphics.Point p)
p
- 需要转换的经纬度kcode2Point(String)
public static android.graphics.Point kcode2Point(java.lang.String kcode)
kcode
- 加密字符串public static boolean isNight(DateTime datetime, android.graphics.Point pos)
datetime
- 当前时间,UTC时间pos
- 当前所在GPS位置public static DateTime[] getSunriseSunsetTimeOfDay(DateTime datetime, android.graphics.Point pos)
datetime
- 当前时间,UTC时间pos
- 当前所在GPS位置DateTime
数组:index=0:日出时间, index=1:日落时间public static int car2Map(int angle)
NaviSession.Event.tracking
消息中,将NaviSessionData.carOri
转换成地图中的角度,设置给相应的车对应的图标。angle
- 车的角度public static int map2Car(int angle)
NaviCoreUtil#car2Map(int)的反向转换
angle
- 车标在地图上的角度public static java.lang.String buildPathInPacket(java.lang.String path)
path
- 资源相对路径,比如icons/104.png,map3_style_sheet.json等public static void speak(java.lang.String text)
text
- 需要播报的字符串public static void stopSpeak()
speak(String)
发起的语音播报请求,并清空请求队列public static java.lang.String angle2DirectionString(int angle)
angle
- 角度,单位:度。以正东方向为0,逆时针方向为正方向。public static java.lang.String formatRelativePosition(android.graphics.Point origin, android.graphics.Point pt, int distanceUnit, boolean withRound)
origin
- 相对原点pt
- 目标点distanceUnit
- 控制输出的字符串所使用的单位的形式NaviCoreUtil.DistanceUnit
。比如:"100"或"100米"或"100m"。withRound
- 控制输出的字符串是否四舍五入。比如:375米是否显示为350米,目前英制不支持四舍五入。public static float len2NdsLen(float len)
len
- 经纬度坐标下的长度public static float ndsLen2Len(float ndsLen)
ndsLen
- nds长度public static byte[] authBase64decode(java.lang.String base64Str)
JNaviCoreConfig.USE_AUTH_DECRYPT
为true时可用,否则抛出异常,请确认此设置之后调用此方法。base64Str
- 输入的Base64 编码字符串,一般来自授权服务器于服务器JNaviCoreConfig.DEBUG
为true且
JNaviCoreConfig.USE_AUTH_DECRYPT
为false时,返回nulljava.lang.RuntimeException
public static byte[] authDecryptFromFile(java.lang.String filePath)
JNaviCoreConfig.USE_AUTH_DECRYPT
为true时可用,否则抛出异常,请确认此设置之后调用此方法。filePath
- 用于解密的问价名称全路径,绝对路径JNaviCoreConfig.DEBUG
为true且
JNaviCoreConfig.USE_AUTH_DECRYPT
为false时,返回nulljava.lang.RuntimeException
©Mapbar Engine Team;All Rights Reserved