# 简介
高精度地图 SDK,通过对地图数据和地图服务功能的封装,能极大简化开发工作量。
# 开发环境
Android Studio 3.0+,Android minSdkVersion 19+
# 配置安装
一、 高精度地图接入
1.创建 Android 工程。在 Android Studio 创建 Android 工程,要求主模块下的 build.gralde 中设置最小开发版本要求为 19;
2.导入开发包。使用 Android Studio 功能菜单“File->new->new moudle->Import .JAR/.AAR Package”导入 aar 文件: 1、starcart_mapsdk_core_vx.x.x.aar: 基础计算库; 2、starcart_mapsdk_ui_vx.x.x.aar: 地图界面操作基础库;
3.SDK 初始化。通过918博天堂官网位置申请 AppKey,在 Android Application 初始化时调用 SDKInitializer 进行初始化:
SDKInitializer.init(this,"你的AppKey");
4.高精度地图加载。在需要使用地图的页面的布局文件中,添加 StarMapView 布局:
<cn.starcart.maplib.StarMapView
android:id="@+id/smv"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
2
3
4
Activity中添加地图加载回调监听:
starMapView.setOnStarMapLoadCallback(new OnStarMapLoadCallback() {
@Override
public void onMapReady(StarMap starMap) {
//地图加载成功
}
@Override
public void onLoadFail(int errorCode) {
//地图加载失败
}
});
2
3
4
5
6
7
8
9
10
11
5.地图界面交互设置。通过 StarMapView. getUISettings() 获取地图界面交互设置助手类UISettings;
6.设置地图样式。地图样式是指地图底图的风格,如街道图、卫星图。可通过 UISettings. setMapStyle 设置地图样式,通过 StarMap. changeMapStyle 方法改变地图样式;
7.标签点操作。通过 StarMarkerBuilder 类,可以在地图上指定位置添加标签点,如:
StarMarker maker=starMarkerBuilder.setName("MY_LOCATION")
.showMarkInfo(true)
.setMarkInfoText("我的位置")
. addToMap(mStarMap,location);
2
3
4
8.轨迹线操作。通过 StarPolyLineBuilder 类,可以根据指定位位置集合,在地图上生成轨迹线,如:
StarPolyLine trackPolyline=new StarPolyLineBuilder()
.setColor(color)
.setName(name)
.setWidth(Float.parseFloat(polylineSize))
.addToMap(mStarMap);
trackPolyline.onNewLocation(location);
2
3
4
5
6
二、 高精度导航服务接入
1.创建 Android 工程。在 Android Studio 创建 Android 工程,要求主模块下的 build.gralde 中设置最小开发版本要求为 19;
2.导入开发包。使用 Android Studio 功能菜单“File->new->new moudle->Import .JAR/.AAR Package”导入 aar 文件: 1、starcart_mapsdk_core_vx.x.x.aar: 基础计算库; 2、starcart_mapsdk_ui_vx.x.x.aar: 地图界面操作基础库; 3、starcart_mapsdk_navi_vx.x.x.aar: 车道级导航基础库;
3.SDK 初始化。通过918博天堂官网位置申请 AppKey,在 Android Application 初始化时调用 SDKInitializer 进行初始化:
SDKInitializer.init(this,"你的AppKey");
4.路径规划页面。路径规划 View 内嵌了高精度地图,在布局文件中增加以下内容,可使用内嵌的路径规划页面:
<cn.starcart.mapsdk.navi.StarNavigationRoutingView
app:initLatitude="23.12199887507846"
app:initLongitude="113.34587317490309"
app:initScale="16.5"
app:initTilt="0"
android:id="@+id/snrView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
2
3
4
5
6
7
8
9
其中 app:initLatitude 和 app:initLongitude 为地图初始化经纬度,app:initScale 为地图初始化缩放缩放级别,app:initTilt 为地图初始化倾斜角;
5.定位引擎。StarLocationEngine为导航服务提供定位信息,定位来源由 APP 端控制,可以是 Andorid 设备自身定位。也可以搭配相应的定位 SDK 或模组,使用918博天堂官网手机高精度定位算法输出结果、918博天堂官网手机助手定位结果等定位信息;
6.车道级导航引导界面。若使用内嵌的车道级导航引导界面,需要在 Activity 的布局文件中增加以下内容:
<cn.starcart.mapsdk.navi.StarNavigationGuideView
app:initLatitude="23.12199887507846"
app:initLongitude="113.34587317490309"
app:initScale="18"
app:initTilt="45"
android:id="@+id/sngView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
2
3
4
5
6
7
8
其中 app:initLatitude 和 app:initLongitude 为地图初始化经纬度,app:initScale 为地图初始化缩放缩放级别,app:initTilt 为地图初始化倾斜角。 并在 Activity 初始化后增加以下内容:
Intent intent=getIntent();
String naviRouteKey=intent.getStringExtra(NaviConst.KEY_ROUNTING);
starNavigationGuideView.setNaviRoutingKey(naviRouteKey);
2
3
naviRouteKey 代表导航路径规划数据的索引,StarNavigationGuideView 通过该索引获取导航引导数据。