android– 如何从位置名称获取坐标

android– 如何从位置名称获取坐标,第1张

概述在我的应用用户中键入一个位置,我必须获得该位置的纬度和经度.所以这里我没有Location对象而是String.我想到了使用此String创建Location对象的选项,但这是不可能的.我知道使用Google的placeAPI是可能的,我知道如何使用它,但我更喜欢使用SDK中提供的任何方法.有没有办法这样做?

在我的应用用户中键入一个位置,我必须获得该位置的纬度和经度.所以这里我没有Location对象而是String.

我想到了使用此String创建Location对象的选项,但这是不可能的.

我知道使用Google的place API是可能的,我知道如何使用它,但我更喜欢使用SDK中提供的任何方法.

有没有办法这样做?

解决方法:

你可以使用Geocoder.像这样:

Geocoder geocoder = new Geocoder(App.getContext(), Locale.US);    List<Address> listofAddress;    try {        listofAddress = geocoder.getFromLocation(theLatitude, theLongitude, 1);        if(listofAddress != null && !listofAddress.isEmpty()){        Address address = listofAddress.get(0);        String country = address.getCountryCode();        String adminArea= address.getadminArea();        String locality= address.getLocality();    }    } catch (IOException e) {        e.printstacktrace();    }

更新:从地址使用获取位置:

listofAddress = geocoder.getFromLocationname("Address", 1);

并获得lat,lon:

double latitude = address.getLatitude();double longitude = address.getLongitude();

更新:使用此代码段在Geocoder返回null时获取位置:

private static final String URL = "http://maps.GoogleAPIs.com/maps/API/geocode/xml";public static RemoteCommand getLocation(String theaddress){    RemoteCommand result = new RemoteCommand();    result.setType(Type.GET);    result.setUrl(URL);    result.addGetParam("address", theaddress);    result.addGetParam("sensor", "false");    result.addGetParam("language", "en");    // See description about GeocoderXMLHandler    result.setXmlHandler(new GeocoderXMLHandler());    return result;}

最好的祝愿.

总结

以上是内存溢出为你收集整理的android – 如何从位置名称获取坐标全部内容,希望文章能够帮你解决android – 如何从位置名称获取坐标所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1113112.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存