7

緯度と経度の座標を指定しましたが、それらを使用して位置オブジェクトを作成したいと考えています。

 Location l = null;
 l.setLatitude(lat);
 l.setLongitude(lon);

しかし、それはクラッシュします。何か違う考えはありますか?

4

4 に答える 4

14

new Location( "reverseGeocoded");で新しいLocationを作成するだけです。このような

GeoPoint newCurrent = new GeoPoint(59529200, 18071400);
        Location current = new Location("reverseGeocoded");
        current.setLatitude(newCurrent.getLatitudeE6() / 1e6);
        current.setLongitude(newCurrent.getLongitudeE6() / 1e6);
        current.setAccuracy(3333);
        current.setBearing(333);
于 2012-05-20T21:03:30.210 に答える
4

存在しないオブジェクトでメソッドを呼び出すことができないため、これはクラッシュします。

あなたはandroid.location.Locationについて話していると思いますか?

これは通常、Androidのさまざまなポジショニングサービスによって返されます。あなたはそれで何をしたいですか?

逆ジオコーディングしますか?その地理座標の住所を見つけるのと同じように?

それとも、それを「偽の」位置として使用して、他のアプリケーションにフィードしたいですか?

ところで、2つのコンストラクターがあります。1つはポジショニングサービスの名前を取り、もう1つはコピーコンストラクターであり、既存のロケーションを取ります。

したがって、次のような場所を作成できます。

Location l = new Location("network");

しかし、これがあなたが欲しいものになるとは思いません。

ドキュメントへのリンクは次のとおりです。

https://developer.android.com/reference/android/location/Location.html#Location%28java.lang.String%29

于 2012-05-20T21:02:58.460 に答える
1
Location l = new Location("any string"); 
l.setLatitude(lat);
l.setLongitude(lon);
于 2012-05-20T21:05:10.293 に答える
0

これを試して:

public double lat;  
public double lon;  

public void onLocationChanged(Location loc)  
{  
lat=loc.getLatitude();  
lon=loc.getLongitude();  
Toast.makeText(getBaseContext(),"Latitude:" + lat +Longitude"+lon,Toast.LENGTH_LONG).show();    
}
于 2013-01-04T06:09:42.193 に答える