我有很多地理数据在线存储纬度和经度,我想使用distanceTo方法而不是我自己的半身式公式。
所以我需要将每条记录放入Location字段,但这是我的问题:它需要一个“provider”字符串。为什么? Android将如何处理这些信息?
for (ArrayList<String> item : Places_Data) {
Location itemloc = new Location("provider");
itemloc.setLatitude(latIn);
itemloc.setLongitude(lonIn);
//do something with my new location
}
答案 0 :(得分:3)
从Location
的源代码中,它不会使用字符串来执行任何有意义的操作。它只是用它来内部描述Location
。如果你Location#toString()
,它会打印出坐标,提供者和其他细节(准确性等)。这完全用于内部描述。
您可以向提供商提供任何内容,如以下答案所示:Creating Android Location Object
答案 1 :(得分:0)
正确使用
方式package android.location.LocationManager
Location location = new Location(LocationManager.GPS_PROVIDER);
使用NETWORK_PROVIDER o GPS_PROVIDER
https://developer.android.com/reference/android/location/LocationManager.html#GPS_PROVIDER
https://developer.android.com/reference/android/location/LocationManager.html#NETWORK_PROVIDER