我的需求是用户(客户)可以输入他/她的地址并验证它是否在我们的送货区域内。
目前我在谷歌地图上设计了这一层:
https://www.google.com/maps/d/u/0/viewer?mid=1E3bcIm6Dy4icmTA4S-hEqOZeHpU
我使用的技术是什么?
我只需要一个处方集的输入文本来写地址并回复“好的”或“抱歉”。
我找到的所有信息都是计算路线的问题和解决方案,只需要验证一个区域内的地址即可。
现在我知道自动填充并保存地址以进行验证。现在我只需要知道如何验证我所在区域的方向。
最佳答案
这是给您的草图: https://jsfiddle.net/zw6f78xk/
首先是Place Autocomplete用于输入地址,它会给出该地址的位置
然后是location is checked是否在多边形内部。
google.maps.geometry.poly.containsLocation(place.geometry.location, polygon)
希望这有帮助。
更新:
但是现在因为您的谷歌地图上已经有了多边形,所以很容易修改它的形状并检索它的坐标。
只需将 editable: true
添加到多边形选项中,然后您可以手动修改它,最后您可以获得如下所示的坐标:
google.maps.event.addListener(polygon, 'click', function(evt) {
var pathArray = polygon.getPath().getArray();
for (var i = 0; i < pathArray.length; i++){
console.log(pathArray[i].toUrlValue());
};
});
因此,单击多边形会记录其路径。
更新2:
对键入的(但未从自动完成中选择的)地址进行地理编码。 https://jsfiddle.net/zw6f78xk/3/
关于google-maps - 检查地址是否在区域 map 内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39607189/