我建立了一个有区域限制的注册表。只有4公里之内的人员可以注册该系统。
我设置了Google Distance Matrix API,并添加了以下代码进行计算。
//*********DISTANCE AND DURATION**********************//
var service = new google.maps.DistanceMatrixService();
service.getDistanceMatrix({
origins: [source],
destinations: [destination],
travelMode: google.maps.TravelMode.DRIVING,
unitSystem: google.maps.UnitSystem.METRIC,
avoidHighways: false,
avoidTolls: false
}, function (response, status) {
if (status == google.maps.DistanceMatrixStatus.OK && response.rows[0].elements[0].status != "ZERO_RESULTS") {
var distance = response.rows[0].elements[0].distance.text;
//alert(distance);
console.log(distance);
var fields = distance.split(' ');
var name = fields[0];
name = name.replace(",", ".");
var street = fields[1];
if (name < 4 && (street == "km" || street == "m" )) {
if (document.RegForm.address.value == "") {
//alert( "Please provide your address!" );
document.RegForm.address.focus();
return false;
}
else {
var address = document.RegForm.address.value;
localStorage.setItem("address", address);
}
可以,但是我有问题。例如,距离为4.5 klm的地址将其计算为4.5 klm。通过这种方式,限制有效,并且不允许用户注册。
现在我将图钉移到另一个国家,它计算出的距离为2.338 klm,并且允许用户注册(这当然是错误的)。
据我了解,问题出在符号“。”和“,”
我又如何限制Google自动填充表单显示一个城镇的结果?
没有州或国家。但是城镇。