我正在使用Google geoloc来验证和规范化地址,以确定特定半径内的地点。但是,Google文档指出Google Maps Geocoding API只能与Google Map一起使用。 我想知道这是否适用于我,因为我没有在客户端显示这些数据
答案 0 :(得分:0)
首先,Google Geocoder并非适用于所有/许多情况,尤其是需要对预设数据集进行大量地理编码的情况。可以找到替代API的综合列表here。
即使Google Maps Geocoding API Usage Limits文档说明:
Google Maps Geocoding API只能与a一起使用 谷歌地图;地理编码结果而不在地图上显示它们 禁止。有关允许使用的完整详细信息,请参阅Maps API Terms > of Service License Restrictions。
技术上可以使用地图地理编码API 而在地图上显示结果,如下所示:
function initMap() {
var geocoder = new google.maps.Geocoder();
document.getElementById('submit').addEventListener('click', function () {
geocodeAddress(geocoder);
});
}
function geocodeAddress(geocoder) {
var address = document.getElementById('address').value;
geocoder.geocode({ 'address': address }, function (results, status) {
if (status === google.maps.GeocoderStatus.OK) {
document.getElementById("result").innerHTML = results[0].geometry.location.toString();
} else {
alert('Geocode was not successful for the following reason: ' + status);
}
});
}

html, body {
height: 100%;
margin: 0;
padding: 0;
}
#map {
height: 100%;
}
#panel {
position: absolute;
z-index: 5;
background-color: #fff;
padding: 5px;
border: 1px solid #999;
text-align: center;
font-family: 'Roboto','sans-serif';
line-height: 30px;
padding-left: 10px;
}

<div id="panel">
<input id="address" type="textbox" value="Sydney, NSW">
<input id="submit" type="button" value="Geocode">
<div id="result"></div>
</div>
<script src="https://maps.googleapis.com/maps/api/js?callback=initMap"
async defer></script>
&#13;