Maison >Java >javaDidacticiel >Comment utiliser le code Java pour tracer des itinéraires routiers perspicaces en faisant glisser la planification d'itinéraire sur Baidu Maps ?

Comment utiliser le code Java pour tracer des itinéraires routiers perspicaces en faisant glisser la planification d'itinéraire sur Baidu Maps ?

WBOY
WBOYoriginal
2023-07-31 20:34:521104parcourir

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

  1. Enregistrez un compte développeur Baidu, créez une application et obtenez la clé d'application (ak).
  2. Téléchargez, installez et configurez l'environnement de développement Java.

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 :

ffeb40d5bcdc5458d8776a6742da47e3
5ce542299e8ca67f323284ff1fe2fd98

5. Initialisez la carte
Initialisez la carte en code Java, comme indiqué ci-dessous :

SDKInitializer.initialize(getApplicationContext());
BaiduMap mBaiduMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getBaiduMap();

6. Initialisez la recherche de planification d'itinéraire
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) {}
});

7. Faites glisser la carte pour la planification d'itinéraire
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);
    }
});

8. Testez
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.

Résumé : 
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.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn