2

いくつかの住所
(123 Fake Street, Faketown, FA, 98765 など) を入力して、これらの住所の座標 (緯度と経度) を取得できるように、ある種の PHP が必要です。
これを完全に動的にする必要があります (これらのアドレスをデータベースから取得するため)。

これを行うことができるものはどこにありますか?

4

2 に答える 2

4

住所を取得して緯度/経度に変換するプロセスは、「ジオコーディング」と呼ばれます。Google Geocode API を見てみましょう。

https://developers.google.com/maps/documentation/geocoding/

于 2013-08-16T21:29:41.950 に答える
2

私は、住所検証 API プロバイダーである SmartyStreets で働いています。当社のLiveAddress APIは、必要なことだけを行います。アカウントは無料で設定でき、1 か月あたり 250 回の検索が可能です。サンプルの PHP コードを次に示します。

<?php

// Customize this (get ID/token values in your SmartyStreets account)
$authId = urlencode("raw ID here");
$authToken = urlencode("raw token here");

// Address input
$input1 = urlencode("3785 s las vegs av.");
$input2 = urlencode("los vegas,");
$input3 = urlencode("nevada");

// Build the URL
$req = "https://api.smartystreets.com/street-address/?street={$input1}&city={$input2}&state={$input3}&auth-id={$authId}&auth-token={$authToken}";

// GET request and turn into associative array
$result = json_decode(file_get_contents($req),true);

echo "<pre>";
print_r($result);
echo "</pre>";

?>

出てくるものは次のようになります。

{
    "input_index": 0,
    "candidate_index": 0,
    "delivery_line_1": "3785 Las Vegas Blvd S",
    "last_line": "Las Vegas NV 89109-4333",
    "delivery_point_barcode": "891094333992",
    "components": {
        "primary_number": "3785",
        "street_name": "Las Vegas",
        "street_postdirection": "S",
        "street_suffix": "Blvd",
        "city_name": "Las Vegas",
        "state_abbreviation": "NV",
        "zipcode": "89109",
        "plus4_code": "4333",
        "delivery_point": "99",
        "delivery_point_check_digit": "2"
    },
    "metadata": {
        "record_type": "H",
        "zip_type": "Standard",
        "county_fips": "32003",
        "county_name": "Clark",
        "carrier_route": "C024",
        "congressional_district": "01",
        "building_default_indicator": "Y",
        "rdi": "Commercial",
        "elot_sequence": "0119",
        "elot_sort": "A",
        "latitude": 36.10357,
        "longitude": -115.17295,
        "precision": "Zip9"
    },
    "analysis": {
        "dpv_match_code": "D",
        "dpv_footnotes": "AAN1",
        "dpv_cmra": "N",
        "dpv_vacant": "N",
        "active": "Y",
        "footnotes": "B#H#L#M#"
    }
}
于 2013-08-16T23:55:28.517 に答える