您现在的位置:
概述
四维地图导航应用产品开发SDK【Navinfo Navigation SDK for Android】是一套基于Android 2.3版本及以上操作系统的地图导航客户端应用产品开发工具包。用户可以轻松构造地图导航基础上的各种交互式应用产品。四维地图导航应用产品开发SDK提供了3D地图显示与操作、位置信息搜索、导航算路、导航过程管理等基本功能,可以结合MPS(GPS、基站、WIFI混合定位)接口实现地图定位等功能,满足不同用户各种应用需求。
功能介绍与体验
-
模拟导航
// 模拟导航 mNaviSession.setSimulationSpeed(1.0f); // 设置模拟导航时的速度 mNaviSession.enableSound(true); // 打开实时语音播报 mNaviSession.startSimulation(); // 开始模拟 // 模拟导航结束和开始导航必须配对使用 // 模拟导航结束 if (mRouteBase != null) { if (mNaviSession.isInSimulation()) { mNaviSession.endSimulation(); mDemoMapView.setTouchZoom(false); // 结束模拟导航回到起点 mDemoMapView.setCarPosition(mStartPoint); } }
-
HUD导航模式
// 沿XXX行驶 distance = mNavigateData.getCurrentToNextTurnDistance(); // 200米 distanceText = GISUtils.formatDistance(distance, GISUtils.DistanceUnit.CN); matcher = NUMBER_PATTERN.matcher(distanceText); start = 0; end = 0; if (matcher.find()) { start = matcher.start(); end = matcher.end(); } numberDistance = distanceText.substring(start, end); unite = distanceText.substring(end, distanceText.length()); distanceSize = R.dimen.F22; driveNumSize = R.dimen.F24; suffixSize = R.dimen.F14; String yan = YAN + mRoadName; SpannableStringBuilder yanStyle = new SpannableStringBuilder(yan); yanStyle.setSpan(new AbsoluteSizeSpan(LayoutUtils.getPxByDimens(suffixSize)), 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); yanStyle.setSpan(new AbsoluteSizeSpan(LayoutUtils.getPxByDimens(distanceSize)), 1, yan.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); String driveNum = typeKey + numberDistance + unite; SpannableStringBuilder driveNumStyle = new SpannableStringBuilder(driveNum); driveNumStyle.setSpan(new AbsoluteSizeSpan(LayoutUtils.getPxByDimens(suffixSize)), 0, typeKey.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); driveNumStyle.setSpan(new AbsoluteSizeSpan(LayoutUtils.getPxByDimens(driveNumSize)), typeKey.length(), typeKey.length() + numberDistance.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); driveNumStyle.setSpan(new AbsoluteSizeSpan(LayoutUtils.getPxByDimens(suffixSize)), typeKey.length() + numberDistance.length(), driveNum.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); tvDistance.setText(yanStyle); tvRoadName.setText(driveNumStyle);
-
路径
// 导航线路规划 mRoutePlan = new RoutePlan(); // 实例化路线计划 mRoutePlan.setStartPoint(mStartPoint); // 设置线路规划起点 mRoutePlan.setEndPoint(mEndPoint); // 设置线路规划终点 mRoutePlan.setUseTmc(true); // 设置使用Tmc算路,即躲避拥堵算路 // 根据路线规划和使用多结果算路方式规划 开始算路,返回结果有可能为1-3条路线 mNaviSession.getInstance().startRoute(mRoutePlan, NaviSession.RouteMethod.multipleResult); // 路线结果返回