从坐标获取位置

我已经给出了纬度和经度的坐标,我想用这些做一个位置对象。没有一个构造函数需要双打一个位置,所以我试着这样:

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

但它崩溃。 任何不同的想法?

Solutions Collecting From Web of "从坐标获取位置"

只需创build一个包含新位置的新位置(“reverseGeocoded”); 喜欢这个

 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); 

这会崩溃,因为您不能调用不存在的对象上的方法。

我相信你在谈论android.location.Location?

这通常由Android的各种定位服务返回。 你想用它做什么?

你想扭转地理编码吗? 如在find该地理坐标的地址?

还是你想用它作为“假”的位置,并将其提供给其他应用程序?

有BTW两个构造函数。 一个采用定位服务的名称,另一个采用复制构造函数,并采用现有位置。

所以你可以创build一个这样的位置:

 Location l = new Location("network"); 

但我不认为这会导致你想要的东西。

这是一个链接到文档:

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

 Location l = new Location("any string"); l.setLatitude(lat); l.setLongitude(lon); 

尝试这个:

 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(); }