0

マップ内の位置を特定するにはどうすればよいですか?

わかりました。公園内のゲートの位置を特定し、ゲートの位置から約 50 メートル離れたときにゲートを自動的に呼び出したいと考えています。Google マップでゲートの位置を特定することから始めてもよいと思います。 -地図やGPSですが、方法がよくわかりません

Google Maps API のサンプルをいくつか見ようとしたのですが、なぜかうまくいきません。とにかく、これは最終的にはアプリになるはずです..そして、皆さんの何人かが何らかの形で私を助けてくれることを願っています

4

1 に答える 1

0

これが必要な基本です。これから緯度と経度を取得し、「geo:lat、lon」をインテントに送信して新しいアクティビティを開始すると、Googleマップアプリが開きます。そして、これはあなたがあなたの現在の場所を見つけることができる方法です。あなたはアンドロイド開発者のウェブサイトでLocationListenerなどについてもっと読むべきです。

public class GetLocation extends Activity {
LocationManager lm;
LocationListener ll;



@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.show_location);

    lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    ll = new MyLocationListener();

    lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, ll);

        try {

            double latitude = getLatitude();
            double longitude = getLongitude();
                Uri uri = Uri.parse("geo:"+latitude+","+longitude);

                startActivity(new Intent(Intent.ACTION_VIEW, uri));

                finish();

        } catch(Exception e) {
            System.out.println("ERROR: "+e);
        }


    }

}

@Override
protected void onStop() {
    super.onStop();

    lm.removeUpdates(ll);
}

public class MyLocationListener implements LocationListener {

    public void onLocationChanged(Location loc){
        loc.getLatitude();
        loc.getLongitude();     

    }


    public void onProviderDisabled(String provider) 
    {
    }


    public void onProviderEnabled(String provider)
    {
    }


    public void onStatusChanged(String provider, int status, Bundle extras)
    {
    }
}

}

于 2012-09-29T20:33:35.753 に答える