1

我开始使用谷歌地图 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>
4

1 回答 1

0

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

于 2013-05-22T07:51:16.393 回答