我想使用Google地图搜索GPS位置。我已经注册了Google Maps API,并获得了密钥。我可以成功地在地图上查明我当前的位置。下一部分是搜索当前GPS位置周围的项目。
方法1:我尝试使用Android的geocoder.getFromLocationName("UPS",5)
,但我没有得到任何东西。
方法2:点击Google https://maps.googleapis.cm/maps/apo/place/search
但需要客户端ID。要获得客户ID,我必须创建一个高级帐户。我必须做这一切吗?
有关如何使用地图搜索Android位置的任何建议吗?
答案 0 :(得分:2)
“GPS”是你正在寻找的地方?不是城市或街道名称?我认为这就是问题所在。
也许看看: How can I find the latitude and longitude from address?
答案 1 :(得分:1)
您需要使用UPS以外的更好的“地址”来使用Geocoder查找位置。您是否意识到将找到多少个UPS位置。 getFromLocationName()最好与详细的位置信息和语言环境指令一起使用,因此它将搜索限制为您指定的语言环境。此外,您将经常在模拟器中获取IOExceptions。最后使用SDK 2.3及更高版本不适用于Geocoder。
尝试这样的事情:
Geocoder geocoder = new Geocoder(this, Locale.US);
String staddress = "Georgia Tech, Atlanta, GA";
try{
List<Address> loc = geocoder.getFromLocationName(staddress, 5);
}
catch(IOException e) {
Log.e("IOException", e.getMessage());
Toast.makeText(this, "IOException: " + e.getMessage(),20).show();
注意当我新建Geocoder时,语言环境如何设置为US。还要注意围绕调用地理编码器的try catch。这将捕获任何IO异常并允许您处理它们,就像我使用Toast消息和其他一些看不见的流控制语句一样