Comment utiliser le code Java pour tracer des itinéraires routiers perspicaces en faisant glisser la planification d'itinéraire sur Baidu Maps ?
Introduction :
Avec l'amélioration du niveau de vie des gens, de plus en plus de personnes choisissent de voyager en voiture. Afin de fournir de meilleurs services de navigation sur les itinéraires routiers, Baidu Maps fournit des interfaces et des fonctions riches. Cet article explique comment utiliser le code Java pour réaliser la fonction de dessin d'itinéraires routiers perspicaces en faisant glisser la planification d'itinéraire sur Baidu Maps.
1. Préparation
2. Obtenez le SDK Java de l'API Baidu Map
Vous pouvez télécharger le dernier SDK Java sur le site officiel de Baidu Map Open Platform. Une fois le téléchargement terminé, importez le SDK dans votre projet Java.
Trois. Présentez le SDK Java de l'API Baidu Map
Introduisez le SDK Java de l'API Baidu Map dans le code Java. Le code spécifique est le suivant :
import com.baidu.mapapi.SDKInitializer; import com.baidu.mapapi.map.BaiduMap; import com.baidu.mapapi.map.MapStatusUpdateFactory; import com.baidu.mapapi.map.SupportMapFragment; import com.baidu.mapapi.model.LatLng; import com.baidu.mapapi.overlayutil.DrivingRouteOverlay; import com.baidu.mapapi.search.core.RouteLine; import com.baidu.mapapi.search.core.SearchResult; import com.baidu.mapapi.search.route.DrivingRouteLine; import com.baidu.mapapi.search.route.DrivingRoutePlanOption; import com.baidu.mapapi.search.route.DrivingRouteResult; import com.baidu.mapapi.search.route.OnGetRoutePlanResultListener; import com.baidu.mapapi.search.route.RoutePlanSearch; import com.baidu.mapapi.search.route.RoutePlanSearchOption;
Quatre Définir la mise en page de la carte
Ajoutez le contrôle de la carte dans le. fichier de mise en page, comme indiqué ci-dessous :
< ;/RelativeLayout> 5. Initialisez la carte 6. Initialisez la recherche de planification d'itinéraire 7. Faites glisser la carte pour la planification d'itinéraire 8. Testez Résumé : Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment
android:id="@+id/map"
android:name="com.baidu.mapapi.map.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
Initialisez la carte en code Java, comme indiqué ci-dessous : SDKInitializer.initialize(getApplicationContext());
BaiduMap mBaiduMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getBaiduMap();
Initialisez la recherche de planification d'itinéraire en code Java, comme indiqué ci-dessous : RoutePlanSearch mRoutePlanSearch = RoutePlanSearch.newInstance();
mRoutePlanSearch.setOnGetRoutePlanResultListener(new OnGetRoutePlanResultListener() {
@Override
public void onGetDrivingRouteResult(DrivingRouteResult result) {
if (result == null || result.error != SearchResult.ERRORNO.NO_ERROR) {
// 路线规划失败
} else if (result.error == SearchResult.ERRORNO.AMBIGUOUS_ROURE_ADDR) {
// 路线规划起终点有歧义,需要解决
} else if (result.error == SearchResult.ERRORNO.NO_ERROR) {
// 路线规划成功
DrivingRouteLine drivingRouteLine = result.getRouteLines().get(0);
DrivingRouteOverlay overlay = new DrivingRouteOverlay(mBaiduMap);
overlay.setData(drivingRouteLine);
overlay.addToMap();
overlay.zoomToSpan();
}
}
@Override
public void onGetTransitRouteResult(TransitRouteResult transitRouteResult) {}
@Override
public void onGetWalkingRouteResult(WalkingRouteResult walkingRouteResult) {}
});
Ajoutez la fonction de glisser la carte pour la planification d'itinéraire dans le code Java, comme indiqué ci-dessous :mBaiduMap.setOnMapStatusChangeListener(new BaiduMap.OnMapStatusChangeListener() {
@Override
public void onMapStatusChangeStart(MapStatus mapStatus) {}
@Override
public void onMapStatusChange(MapStatus mapStatus) {}
@Override
public void onMapStatusChangeFinish(MapStatus mapStatus) {
LatLng startPoint = new LatLng(mapStatus.target.latitude, mapStatus.target.longitude);
LatLng endPoint = new LatLng(【目的地纬度】, 【目的地经度】);
PlanNode stNode = PlanNode.withLocation(startPoint);
PlanNode enNode = PlanNode.withLocation(endPoint);
DrivingRoutePlanOption option = new DrivingRoutePlanOption().from(stNode).to(enNode);
mRoutePlanSearch.drivingSearch(option);
}
});
Compilez et exécutez le code Java, ouvrez le fichier. Sur la page de la carte, cliquez sur la carte et faites glisser, l'itinéraire routier Insights sera tracé sur la carte.
Grâce aux étapes ci-dessus, nous pouvons utiliser le code Java pour implémenter la fonction de dessin d'itinéraires routiers perspicaces en faisant glisser la planification d'itinéraire sur Baidu Maps. Avec l'aide du SDK Java de l'API Baidu Map, nous pouvons facilement implémenter des fonctions liées aux cartes dans nos propres projets Java. Grâce à un apprentissage et une exploration continus, nous pouvons développer des applications cartographiques plus riches et plus pratiques.