【问题标题】:google maps API and geocoder.getFromLocationName谷歌地图 API 和 geocoder.getFromLocationName
【发布时间】:2010-10-29 00:11:59
【问题描述】:

我想使用 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 位置有什么建议吗?

【问题讨论】:

    标签: android google-maps


    【解决方案1】:

    “GPS”是您要查找的地方吗?不是城市或街道名称?我认为这就是问题所在。

    也许看看: How can I find the latitude and longitude from address?

    【讨论】:

    • 它不是 GPS 而是 UPS(联合邮政服务),抱歉。我想找到我住所附近的 UPS 网点。
    【解决方案2】:

    您需要使用比 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();
    

    请注意,当我更新我的地理编码器时,区域设置是如何设置为美国的。还要注意对地理编码器的调用周围的 try catch。这将捕获任何 IO 异常并允许您像我使用 Toast 消息和其他一些看不见的流控制语句那样处理它们

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-25
      • 1970-01-01
      • 1970-01-01
      • 2014-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多