# 简介
高精度地图 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 初始化。通过星舆位置申请 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 初始化。通过星舆位置申请 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 或模组,使用星舆手机高精度定位算法输出结果、星舆手机助手定位结果等定位信息;
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 通过该索引获取导航引导数据。