2016-09-08 92 views
0

Googleマップを使用して点線のポリラインを描画する機能がiOSに組み込まれていますが、Android用の同等機能は見つかりません。アイデアは、iOSが2つの色を設定できることです.1つは線の色で、もう1つは(透明)との間のスペースで、これは点線を作成します。 iOSの実装は次のようになりますGoogleマップを使用して点線のポリラインを描画する方法 - Android

Androidの場合、私は点線を達成しましたが、計算と操作を行う必要がありました。ここで私は、Android

   // calculate the difference in latitude and longitude between start and end points 
       double difLat = latLngDest.latitude - latLngOrig.latitude; 
       double difLng = latLngDest.longitude - latLngOrig.longitude; 

       // retrieve current zoom level 
       double zoom = mMap.getCameraPosition().zoom; 

       // come up with distance between dotted lines that adjusts according to zoom levels 
       double divLat = difLat/(zoom * 1.2); 
       double divLng = difLng/(zoom * 1.2); 
       LatLng tmpLatOri = latLngOrig; 

       // add polyline to list 
       for (int i = 0; i < (zoom * 1.2); i++) { 
        LatLng loopLatLng = tmpLatOri; 

        if (i > 0) { 
         loopLatLng = new LatLng(tmpLatOri.latitude + (divLat * 0.40f), tmpLatOri.longitude + (divLng * 0.40f)); 
        } 

        polylineList.add(mMap.addPolyline(new PolylineOptions() 
            .add(loopLatLng) 
            .add(new LatLng(tmpLatOri.latitude + divLat, tmpLatOri.longitude + divLng)) 
            .color(Utils.getColor(mContext, R.color.orange)) 
            .width(18f))); 
        tmpLatOri = new LatLng(tmpLatOri.latitude + divLat, tmpLatOri.longitude + divLng); 
       } 

のためにやっているものですこれはOKに見えますが、私はむしろそれが存在する場合、この関数に建て使用します。私はドキュメントを見て、アンドロイドのための何かを見つけることができません。

答えて

2

Googleは、2017年2月、Google Maps Android API v2でポリラインとポリゴンの新しいカスタマイズをリリースしました。特に、破線と点線のポリラインを作成することができます。

Shapes Guideの新機能についての情報を参照してください。ポリラインとポリゴンチュートリアルのexampleを参照してください。あなたがここにも対応するブログの記事を読むことができ

https://maps-apis.googleblog.com/2017/02/styling-and-custom-data-for-polylines.html

+0

を[複数の質問に同じ答え]を追加しないでください(http://meta.stackexchange.com/questions/104227/いくつかの質問に答えることができます)(これは3回目です)。あなたが十分な評判を得たら、最高のものに答え、残りを重複としてフラグを立てます。重複していない場合は、質問への投稿を調整します –

1

まだAndroidにはありません。

関連する問題