0

Googleマップの住所を提供するGoogleマップAPIがあります。GoogleマップAPIを取得するコードは次のとおりです。

<input name="add" type="text" id="address" class="required" style="width: 500px;">
            <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&libraries=places&language=en-AU"></script>
            <script>
                var autocomplete = new google.maps.places.Autocomplete($("#address")[0], {});

                google.maps.event.addListener(autocomplete, 'place_changed', function() {
                var place = autocomplete.getPlace();
                console.log(place.address_components);
                });
            </script>
        <!--code for Google address API-->

今、私はまた、入力された住所の経度と緯度も必要です。入力された住所の経度と緯度の値を取得するにはどうすればよいですか。

4

2 に答える 2

1

私は答えを得ました:

        <script>

        function cordinate()
        {
            geocoder = new google.maps.Geocoder(); // creating a new geocode object
            // getting the address value
            address1 = document.getElementById("address").value;
            //alert(address1);
                if (geocoder)
            {
            geocoder.geocode( { 'address': address1}, function(results, status)
            {
            if (status == google.maps.GeocoderStatus.OK)
            {
            //location of address (latitude + longitude)
            var location1 = results[0].geometry.location;
            document.getElementById("cor").value = location1;

            //alert(location1);
            } else
            {
            alert("Geocode was not successful for the following reason: " + status);
            }
            });

            }//end of If

        }
        </script>
        <!--code for google address cordinates-->
        <input type="hidden" name="cor" id="cor">
于 2012-10-08T11:09:00.743 に答える
1

場所のジオメトリ オブジェクトを使用して、緯度と経度を取得できます。有効な宛先を入力し、オートコンプリート オプションから 1 つを選択すると、次のように動作します。

<input name="add" type="text" id="address" class="required" style="width: 500px;">
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&libraries=places&language=en-AU"></script>
<script>
    var autocomplete = new google.maps.places.Autocomplete(document.getElementById('address'));

    google.maps.event.addListener(autocomplete, 'place_changed', function() {
        var place = autocomplete.getPlace();
        var geometry = place.geometry;
        var location = geometry.location;
        var latitude = location.lat();
        var longitude = location.lng();
        console.log(latitude);
        console.log(longitude);
    });
</script>

または単に:

var place = autocomplete.getPlace();
var latitude = place.geometry.location.lat();
var longitude = place.geometry.location.lng();
于 2012-10-08T09:42:16.420 に答える