0

序文: Google に連絡し、ドキュメントを読みました。これが完了すると、次のページにマップが表示され、最初のページに自動提案が表示されます。この方法で利用規約に違反することはないので、フレーム ウォーを開始しないでください。

現在のページに地図を表示せずにジオコーディングする最小限のジオコーダーを作成しようと試みました。これを行うためのサンプルコードがオンラインにないことがわかりました! 私はjqueryを初めて使用しますが、これは私が思いつくことができる最高のものです。しかし、低くて見よ、それはうまくいかない。

私はばかげたことをしたと確信しているので、これがうまくいかない明らかな理由を誰かが見つけたら教えていただければ幸いです。私はこれまでJavaScriptを作成したことがありません。

JSFiddle リンク: http://jsfiddle.net/njDvn/9/

<html>
<head>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script>
function getLatLng() {
    var geocoder = new google.maps.Geocoder();
    var address = document.getElementById('address').value;
    geocoder.geocode({
        'address': address
    }, function (results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            var latLng = results[0].geometry.location;
            $('#lat').val(results[0].geometry.location.lat());
            $('#lng').val(results[0].geometry.location.lng());
        } else {
            alert("Geocode was not successful for the following reason: " + status);
        }
    });
}
</script>
</head>
    <body onload="initialize()">
        <div>
            <input id="address" type="textbox" value="Sydney, NSW">
            <input type="button" value="Geocode" onclick="codeAddress()">
            <input id="lat" type="textbox" value="lat">
            <input id="lng" type="textbox" value="lng">
           </div>
      </body>
</html>

</p>

4

1 に答える 1

2

私が見ることができる最初の2つのことonclickは、ボタンのが呼び出しcodeAddress()ていることですが、その関数を宣言していません-それをに変更するgetLatLng()と、動作するはずです。さらに、これも宣言されていない<body onload呼び出しです。initialize()これでジオコーダーの起動が妨げられることはありませんが、おそらく修正する必要があります。

于 2012-11-03T17:01:12.720 に答える