第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Android Studio 中的說明

Android Studio 中的說明

泛舟湖上清波郎朗 2021-11-24 16:06:20
我正在嘗試研究如何在 android studio(谷歌地圖)上獲取從用戶位置到選定標記的方向。你們有什么想法嗎?
查看完整描述

2 回答

?
喵喵時光機

TA貢獻1846條經(jīng)驗 獲得超7個贊

使用谷歌地圖距離矩陣 api 通過給定代碼查找從源到目的地的路徑


DateTime now = new DateTime();

        try {

            DirectionsResult result = DirectionsApi.newRequest(getGeoContext())

                    .mode(TravelMode.DRIVING)

                    .origin(new com.google.maps.model.LatLng(fromLat, fromLng))

                    .destination(new com.google.maps.model.LatLng(ToLat, ToLng))

                    .departureTime(now)

                    .await();


            addMarkersToMap(result, googleMap);

            addPolyline(result, googleMap);


            if (loader!=null && loader.isShowing()){

                loader.dismiss();

            }

        } catch (ApiException ignored) {

            Log.e("Exception"," "+ignored.getMessage());

        } catch (InterruptedException | IOException e) {

            e.printStackTrace();

            Log.e("Exception"," InterruptedException "+e.getMessage());

        }

添加標記


private void addMarkersToMap(DirectionsResult results, GoogleMap mMap) {

        mMap.addMarker(new MarkerOptions().position(

                new LatLng(results.routes[0].legs[0].startLocation.lat,results.routes[0].legs[0].startLocation.lng))

                .title(from)

                .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN)));

        mMap.addMarker(new MarkerOptions().position(

                new LatLng(results.routes[0].legs[0].endLocation.lat,results.routes[0].legs[0].endLocation.lng))

                .title(to)

                .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_RED)));

    }

繪制折線并超時以從谷歌的服務器獲取數(shù)據(jù)


private GeoApiContext getGeoContext() {

        GeoApiContext geoApiContext = new GeoApiContext();

        return geoApiContext.setQueryRateLimit(3)

                .setApiKey(getString(R.string.directionsApiKey))

                .setConnectTimeout(1, TimeUnit.SECONDS)

                .setReadTimeout(1, TimeUnit.SECONDS)

                .setWriteTimeout(1, TimeUnit.SECONDS);

    }


private void addPolyline(DirectionsResult results, GoogleMap mMap) {

        List<LatLng> decodedPath = PolyUtil.decode(results.routes[0].overviewPolyline.getEncodedPath());


        int PATTERN_DASH_LENGTH_PX = 20;

        int PATTERN_GAP_LENGTH_PX = 20;

        PatternItem DASH = new Dash(PATTERN_DASH_LENGTH_PX);

        PatternItem GAP = new Gap(PATTERN_GAP_LENGTH_PX);

        List<PatternItem> PATTERN_POLYGON_ALPHA = Arrays.asList(GAP, DASH);


        mMap.addPolyline(new PolylineOptions()

                .geodesic(true)

                .color(getResources().getColor(R.color.colorPrimary))

                .width(5)

                .pattern(PATTERN_POLYGON_ALPHA)

                .addAll(decodedPath));

    }


查看完整回答
反對 回復 2021-11-24
?
繁星coding

TA貢獻1797條經(jīng)驗 獲得超4個贊

1.使用谷歌地圖方向api獲取方向latlng。谷歌方向api

2.之后,您需要使用折線在地圖上繪制路徑。

這是完整的教程鏈接


查看完整回答
反對 回復 2021-11-24
  • 2 回答
  • 0 關注
  • 176 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號