0

您好强大的开发人员,

我正在编写一个 android 应用程序以向出租车发送请求。

我已经安装了 Android Maps API v2,并且地图片段工作正常。

我需要为“发件人”地址编写一个文本字段,为“收件人”地址编写另一个文本字段

我需要能够通过文本或邮政编码输入地址,然后应用程序会给我从选项中选择最准确地址的选项,我还希望能够将手机的当前位置检索到文本中通过 GPS 和网络提供商进行字段。最后,我需要能够使用地图片段上的标记来微调选择的位置。

在android地球上我怎么能做到这一点?

我在 Android API 8 Froyo btw 上开发,因为我需要该应用程序与大多数 Android 手机兼容。

Cheerio,你们这些很酷的程序员

迷失的开发者

4

1 回答 1

1

你已经尝试了什么?

“最难”的部分可能是验证他们输入的地址……但有一些 API 可以让这变得非常简单。我在 SmartyStreets 工作,LiveAddress API就是您可以使用的此类服务之一。一个简单的 HTTPS 请求可以为您提供建议/候选地址的列表。例如:

https://api.smartystreets.com/street-address?street=1600+amphitheatre+parkway&city=mtn+view&state=ca&zipcode=&auth-id=<your auth ID>&auth-token=<your API key>

结果将是:

[
    {
        "input_index":0,
        "candidate_index":0,
        "delivery_line_1":"1600 Amphitheatre Pkwy",
        "last_line":"Mountain View CA 94043-1351",
        "delivery_point_barcode":"940431351000",
        "components":
        {
            "primary_number":"1600",
            "street_name":"Amphitheatre",
            "street_suffix":"Pkwy",
            "city_name":"Mountain View",
            "state_abbreviation":"CA",
            "zipcode":"94043",
            "plus4_code":"1351",
            "delivery_point":"00",
            "delivery_point_check_digit":"0"
        },
        "metadata":
        {
            "record_type":"S",
            "county_fips":"06085",
            "county_name":"Santa Clara",
            "carrier_route":"C058",
            "congressional_district":"14",
            "rdi": "Commercial",
            "latitude": 37.41907,
            "longitude": -122.07764,
            "precision": "Zip7"
        },
        "analysis":
        {
            "dpv_match_code":"Y",
            "dpv_footnotes":"AABB",
            "dpv_cmra":"N",
            "dpv_vacant":"N",
            "ews_match":false,
            "footnotes":"B#N#"
        }
    }
]

如果地址不明确,将返回一些选项,您可以将这些选项显示给用户,以便他/她选择其中之一。

你提到了邮政编码:还有一个 SmartyStreets 端点来验证邮政编码和城市/州。

为了在地图上显示标记,Google Maps API 提供了可用的功能。

于 2013-02-11T20:18:17.023 回答