我已经给出了纬度和经度的坐标,我想用它们制作一个位置对象。没有一个构造函数需要双打来制作一个位置,所以我尝试这样:
Location l = null;
l.setLatitude(lat);
l.setLongitude(lon);
但它崩溃了。有什么不同的想法吗?
我已经给出了纬度和经度的坐标,我想用它们制作一个位置对象。没有一个构造函数需要双打来制作一个位置,所以我尝试这样:
Location l = null;
l.setLatitude(lat);
l.setLongitude(lon);
但它崩溃了。有什么不同的想法吗?
只需使用 new Location("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的各种定位服务返回的。你想用它做什么?
你想反向地理编码吗?就像找到那个地理坐标的地址一样?
还是您想将其用作“假”位置并将其提供给其他应用程序?
顺便说一句,有两个构造函数。一个采用定位服务的名称,另一个是复制构造函数并采用现有的位置。
所以你可以像这样创建一个位置:
Location l = new Location("network");
但我不认为这会导致你想要的东西。
这是文档的链接:
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();
}