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