0

Google マップ サービスから座標を取得できることはわかっています。しかし、ソースと目的地の座標を取得して Google マップ サービスに送信し、すべての座標を取得したらルートを描画するにはどうすればよいでしょうか?

編集:

私はこのようなものを持っています:

                bmp = new Bitmap(getWidth(), getHeight());
                bmp.createAlpha(Bitmap.ALPHA_BITDEPTH_8BPP);
                Graphics g = Graphics.create(bmp);
                int x1 = -1, y1 = -1, x2 = -1, y2 = -1;
               XYPoint point0 = new XYPoint();
                convertWorldToField(mPoints[0], point0);
                x1=point0.x;
                y1=point0.y;
                g.setColor(Color.BLUE);
                g.fillEllipse(x1, y1, x1, y1 + 1, x1 + 1, y1, 0, 360);

                for (int i = 0; i < mPoints.length; i++) {
                        XYPoint point = new XYPoint();
                        convertWorldToField(mPoints[i], point);
                        x2 = point.x;
                        y2 = point.y;
                        g.setColor(Color.GREEN);
                        g.drawLine(x1, y1, x2, y2);
                        g.fillEllipse(x1, y1, x1, y1 + 1, x1 + 1, y1, 0, 360);
                if(i == mPoints.length-1)
                        {
                            g.setColor(Color.YELLOWGREEN);
                            g.fillEllipse(x1, y1, x1, y1 + 1, x1 + 1, y1, 0, 360);
                        }
                        x1 = x2;
                        y1 = y2;
                }
4

2 に答える 2

0

グーグルマップはあなたのためにルート計算をします、それを手動でする必要はありません。次の構文を使用します。

            double xPos = GPSListener.handle().getLocation().getLatitude();
            double yPos = GPSListener.handle().getLocation().getLongitude();
            String sourceAddr = xPos + "," + yPos;
            int moduleHandle = CodeModuleManager.getModuleHandle("GoogleMaps");
            if (moduleHandle != 0) {
                String[] args = { "http://gmm/x?action=ROUT&start=" + sourceAddr + "&end=" + lat + "," + longi };
                ApplicationDescriptor ad = new ApplicationDescriptor(CodeModuleManager.getApplicationDescriptors(moduleHandle)[0], args);
                ApplicationManager.getApplicationManager().runApplication(ad, true);
            } 
于 2011-08-26T15:17:22.933 に答える
0

ジオコーダーを使用して、場所の緯度と経度を取得できます。Google には、http://code.google.com/apis/maps/documentation/geocoding/のドキュメントがあります。

したがって、2 つの場所の間の経路を取得すると、経路と座標を含む XML ファイルが作成されます。MapField のpaint()メソッドをオーバーライドconvertWorldToField()し、マップ上に描画する場所を取得するために使用します。そこからは、ある場所から次の場所へ線を引くだけです。

于 2011-08-05T13:26:57.780 に答える