从struts2中的给定地址检索lat和long

时间:2013-05-22 07:36:42

标签: google-maps struts2

我开始使用google maps api。我有地理编码的问题,我已经没时间修复它了。但是,它仍然无效。 我的练习:在文本框中键入地址,然后单击“查找位置”按钮。我正在使用javascript根据给定的地址获取lat和long。如果我不添加新的“表单操作”标签(我正在使用struts2框架),一切都还可以。它看起来如下:

function codeAddress() {
    var address = document.getElementById("locationId").value;
    geocoder
            .geocode(
                    {
                        'address' : address
                    },
                    function(results, status) {
                        if (status == google.maps.GeocoderStatus.OK) {
                            map.setCenter(results[0].geometry.location);
                            document.getElementById('latId').value = results[0].geometry.location
                                    .lat().toFixed(15);
                            document.getElementById('lonId').value = results[0].geometry.location
                                    .lng().toFixed(15);
                        } else {
                            alert("Lat and long cannot be found.");
                        }
                    });
}

<s:form action="searchNearestLocation">
    <s:hidden name="latInput" id="latId" />
    <s:hidden name="lonInput" id="lonId" />
    <s:textfield name="locationName" id="locationId" />
    <s:submit value="Find Location" name="findLocation" onclick="codeAddress()" />
    <div id="googleMap" style="width: 500px; height: 380px;"></div>
</s:form>

1 个答案:

答案 0 :(得分:0)

你试过这个:<s:input value="Find Location" name="findLocation" onclick="codeAddress()" action="searchNearestLocation"/>