常见问题
为何我的四维地图API地图不显示底图?
检查在程序中是否使用了正确的AK,有没有打开使用网络连接等权限。在线模式需连接互联网,离线模式需有离线数据。
API如何获取定位信息?
在【Navinfo Navigation SDK for Android】中,若需要通过非GPS方式定位,可以通过四维图新的MPS混合定位接口,并结合本开发工具包,实现当前用户定位,并可通过打点展现在地图的相应位置。在程序中,如果需要使用此功能,需要先注册GPS和网络的使用权限。MPS混合定位接口支持GPS、基站、WIFI综合定位,数据实现全国覆盖。
在应用中如何添加地图授权AK?
使用密钥(AK)需要把基础库相关的jar和so,添加到项目中
1. 在AndroidManifest中添加AK配置
AKs配置在AndroidManifest中。代码示例如下:
<application andoid:name=".SDKApplication" android:icon="@drawable/icon" android:label="@string/app_name"> <meta-data android:name="Navinfo_AK" android:value="您申请的AK"/> …… </application>
2. 在application中初始化基础库
可以在应用程序初始化时即自定义Application中,初始化授权并传入AK,示例代码如下:
public class SDKApplication extends Application { @Override public void onCreate() { super.onCreate(); NavinfoApi.init(this); } }
如何使用实时路况?
首先初始化MapRenderer对象然后设置mRenderer.enableTmc(true) 表示启动实时路况,mRenderer.enableTmc(false) 取消实时路况。
手势对SDK中地图的操作说明?
单点可移动地图,多点可控制地图水平角度和地图方向。
地图上打多个点后操作单个点其它点都变动问题?
地图打点一般用CustomAnnotation和Annotation声明此对象时需要传入多个参数如:CustomAnnotation(int zLevel, NdsPoint pos, int iconId, Vector2DF pivot, android.graphics.Bitmap icon),创建多个此对象时iconId不能相同,如相同则会有问题。
编译运行时错误日志排查
开发工具为Android Studio3.0+
1. Logcat下如果筛选出“无效ak”错误时
排查步骤:
1.1 检查AndroidManifest.xml中,meta-data节点android:name="Navinfo_AK"对应的值是否正确填写。
1.2 检查AndroidManifest.xml中,application节点是否有android:name是否有类名,该类中onCreate()里是否调用了NavinfoApi.init(this)
1.3 该demo的运行,要求开发者必须至 https://lbs.navinfo.com//dev/app_list,注册登录用户,根据开发指南指示获取AK。
2. Logcat下筛选出"数字签名验证失败"
排查步骤:
2.1 编译出来的apk,window下使用命令`keytool -printcert -jarfile 完整apk路径`,查看apk的证书指纹SHA1值与开放平台中应用填写的对应SHA1是否一致。
2.2 请确认编译的版本是release还是debug版本,并确认项目的AK与开放平台中对应应用填写的安全码SHA1的值一致。
2.3 请确认开放平台中AK对应的应用PackageName,与您项目中的app/build.gradle中的applicationId的值一致。
3. demo项目中如提示{status=403, message='网络错误'},请按以上两类错误进行排查。