Maison > Java > javaDidacticiel > le corps du texte

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

WBOY
Libérer: 2023-07-31 20:34:52
original
1056 Les gens l'ont consulté

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;
Copier après la connexion

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 :


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" />
Copier après la connexion

< ;/RelativeLayout>

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();
Copier après la connexion

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) {}
});
Copier après la connexion

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);
    }
});
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal