gpt4 book ai didi

android - Geocoder.getFromLocationName 不适用于某些地方

转载 作者:太空狗 更新时间:2023-10-29 13:49:43 26 4
gpt4 key购买 nike

我正在尝试从正在搜索的字符串中获取位置。但是,在某些情况下,addressList 返回大小为 0(即 H.M. 教育中心,加尔各答)。我没有纬度和经度来搜索这个地方。需要帮助。

String addressString = (String) adapterView.getItemAtPosition(position);
String addressString1 = (String) adapterView.getItemAtPosition(position);
List<Address> addressList = null;
Address address = null;
if (!TextUtils.isEmpty(addressString))
{
Geocoder geocoder = new Geocoder(this, Locale.getDefault());
try
{
addressList = geocoder.getFromLocationName(addressString, 1);
}
catch (IOException e)
{
e.printStackTrace();
addressString = addressString1;
}
//noinspection ConstantConditions
if(addressList != null && addressList.size() > 0)
{
address = addressList.get(0);
}
}

最佳答案

作为替代方案,您可以使用地理编码 API 或 Places API 网络服务。我查了你的地址 'H.M.加尔各答教育中心在 Geocoding API Web 服务请求中发现可以找到坐标。使用此地址查看 Geocoder 工具:

https://google-developers.appspot.com/maps/documentation/utils/geocoder/#q%3DH.M.%2520education%2520centre%252C%2520kolkata

在您的 Java 代码中,我可以建议使用 Github 上托管的 Google map 服务的 Java 客户端:

https://github.com/googlemaps/google-maps-services-java

使用此客户端库执行 Web 服务请求的代码 fragment 如下

GeoApiContext context = new GeoApiContext.Builder()
.apiKey("AIza...")
.build();
GeocodingResult[] results = GeocodingApi.geocode(context,
"H.M. education centre, kolkata").await();

可以在以下位置找到当前版本库的 Javadoc

https://googlemaps.github.io/google-maps-services-java/v0.2.7/javadoc/

另请注意,可以通过 Places API 网络服务找到像这样的地点。在这种情况下,代码 fragment 将是

GeoApiContext context = new GeoApiContext.Builder()
.apiKey("AIza...")
.build();
TextSearchRequest req = PlacesApi.textSearchQuery(context, "H.M. education centre, kolkata");
try {
PlacesSearchResponse resp = req.await();
if (resp.results != null && resp.results.length > 0) {
//Process your results here
}
} catch(Exception e) {
Log.e(TAG, "Error getting places", e);
}

希望对您有所帮助!

关于android - Geocoder.getFromLocationName 不适用于某些地方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49729791/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com