您现在的位置:

常见问题

为何我的四维地图API地图不显示底图?

检查在程序中是否使用了正确的AK,有没有打开使用网络连接等权限。在线模式需连接互联网,离线模式需有离线数据。

API如何获取定位信息?

在【Mapbar Navigation SDK for Android】中,若需要通过非GPS方式定位,可以通过图吧的MPS混合定位接口,并结合本开发工具包,实现当前用户定位,并可通过打点展现在地图的相应位置。在程序中,如果需要使用此功能,需要先注册GPS和网络的使用权限。MPS混合定位接口支持GPS、基站、WIFI综合定位,数据实现全国覆盖。

在应用中如何添加地图授权AK?

使用密钥(AK)需要把基础库相关的jar和so,添加到项目中

(1) com_autoai_nglp_core.jar

(2) libcom_autoai_nglp_core.so

1. 在AndroidManifest中添加AK配置

AKs配置在AndroidManifest中。代码示例如下:

XML
                    <application
                        andoid:name=".SDKApplication"
                        android:icon="@drawable/icon"
                        android:label="@string/app_name">
                        <meta-data
                           android:name="NGLP_AK"
                           android:value="您申请的AK"/>
                           ……
                    </application>
                

2. 在application中初始化基础库

可以在应用程序初始化时即自定义Application中,初始化授权并传入AK,示例代码如下:

                    public class SDKApplication extends Application {
                        @Override
                        public void onCreate() {
                            super.onCreate();
                            NGLPApi.init(this);
                        }
                    }
                

如何使用实时路况?

首先初始化MapRenderer对象然后设置mRenderer.enableTmc(true) 表示启动实时路况,mRenderer.enableTmc(false) 取消实时路况。

手势对SDK中地图的操作说明?

单点可移动地图,多点可控制地图水平角度和地图方向。

新增的地图配置文件如何使用?

地图配置文件和2D地图版本有些区别,配置如下:

XML
                    <com.mapbar.moo.resource.DemoMapView
                        android:id="@+id/glView_mapview"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent" />
                

地图上打多个点后操作单个点其它点都变动问题?

地图打点一般用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="NGLP_AK"对应的值是否正确填写。

1.2 检查AndroidManifest.xml中,application节点是否有android:name是否有类名,该类中onCreate()里是否调用了NGLPApi.init(this)

1.3 该demo的运行,要求开发者必须至 https://nglp.autoai.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='网络错误'},请按以上两类错误进行排查。

返回顶部