2

住所をジオエンコードして GPS 座標に変換しようとしています。基本的、

var address;

//  Google/Yahoo/whatever program to convert address to GPS coordinates

var output=xx.xxxxxxx,xx.xxxxxxx

Google および Yahoo API を調査しましたが、それらのコードを Google ガジェットで動作させることができないようです。助言がありますか?

前もって感謝します!

4

3 に答える 3

4

address-to-gps-coordsのニーズに対して私が行ったことは次のとおりです。

function get_coords(address)
{
    var gc      = new google.maps.Geocoder(),
        opts    = { 'address' : address };

    gc.geocode(opts, function (results, status)
    {
        if (status == google.maps.GeocoderStatus.OK)
        {   
            var loc     = results[0].geometry.location,
                lat     = loc.$a,
                long    = loc.ab;

            // Success.  Do stuff here.
        }
        else
        {
            // Ruh roh.  Output error stuff here
        }
    });
}

次に、のように呼び出すとget_coords('1600 Pennsylvania Avenue NW Washington, DC 20500')、緯度と経度が返されます。

もちろん、それを機能させるには、独自のGoogleMapsAPIキーを提供する必要があります。

お役に立てれば!

于 2012-07-03T20:16:00.237 に答える
1

これを行うLiveAddressという 1 つの API を維持するのを手伝っています。Google/Yahoo の API よりもはるかに使いやすく、リクエストをまとめて禁止したり、結果を保存したり、地図を表示したり自動化したりせずにデータを使用したりすることを禁止する制限的な利用規約がありません。

このサンプル ラッパー関数を使用した完全な例を次に示します。

LiveAddress.init(123456789); // your API key here
LiveAddress.geocode("address goes here", function(geo) {
    // You can also pass in an array of addresses,
    // the ID of a DOM element containing the address,
    // or an array of IDs
    console.log(geo);
});

個々の座標はgeo.latgeo.lonにあり、結合された文字列 "lat, lon" 形式は にありgeo.coordsます。でデータの精度を取得することもできますgeo.precision

于 2012-07-03T20:41:06.110 に答える
1

私はこれを行い、完璧に機能しました:

<script type="text/javascript">
var dir1 = "5th ave, new york";
var google_url = "http://maps.googleapis.com/maps/api/geocode/json?address=";
var sensor = "&sensor=false";
var resultado;

function myFunction(){ 

    $.getJSON(
        google_url+dir1+sensor,
        function(result){
            $( "body" ).append( "Latitude: " + JSON.stringify(result.results[0].geometry.bounds.northeast.lat) )
            $( "body" ).append( "Longitude: " + JSON.stringify(result.results[0].geometry.bounds.northeast.lng) )  
    });

}

于 2013-10-23T18:26:00.640 に答える