【问题标题】:Retrieving Longitude and Latitude fron address passed to server检索传递给服务器的经度和纬度地址
【发布时间】:2011-09-27 10:34:39
【问题描述】:

我提出了一个有趣的问题。我想要实现的是我有一个商家列表和他们的地址。我想要他们的经度和纬度,这样我就可以确定用户(使用位置监听器)是否在该商家的一公里半径内。我已经完成了代码以确定它们是否在该半径内。

我需要的是我说的商家经纬度。有没有可以用来传递商家地址并以经度和纬度响应的soap服务?或者我可以以某种方式将其发送到 Google Places API 吗?

【问题讨论】:

    标签: java android location


    【解决方案1】:

    我认为 Google Maps API 通过其 GEOCODING 支持可以满足您的需求。

    http://code.google.com/apis/maps/documentation/javascript/v2/services.html#Geocoding

    【讨论】:

    • 如何在 java 中使用它?
    • 他们有一个服务,你可以通过 HttpRequest 调用它,返回 JSON 或 XML 作为响应——你大概能够从这个响应中提取 lat + long 吗?
    • 是的,可以实现。我只需要学习如何发送 http 请求和提取,但我以前做过,所以我应该没问题。谢谢。
    【解决方案2】:

    由于您已在 Android 下标记了该问题,因此我将尝试一下,并假设“我如何在 java 中使用它”,实际上您的意思是我如何在 android 平台上执行此操作。

    幸运的是,android 提供了 Geocoder API,您可以通过执行以下操作将地址地理编码为 lon/lat 坐标:

    gc = new Geocoder(this); //create new geocoder instance
    btnSearch.setOnClickListener(new OnClickListener() {
      public void onClick(View v) {
        String addressInput = adress.getText().toString(); //Get input text 
        try {
          List<Address> foundAdresses = gc.getFromLocationName(addressInput, 5); //Search addresses
        }
        catch (Exception e) {
          //@todo: Show error message
        }
      }
    });
    

    (above quoted from AndDev tutorial)

    获得 lon/lats 后,您可以创建一个 GeoPoint 并将它们放在地图上,link here 告诉您如何操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-30
      • 2021-04-21
      相关资源
      最近更新 更多