【问题标题】:Check if an address is within an area map检查地址是否在区域地图内
【发布时间】:2017-01-29 03:37:52
【问题描述】:

我的需要是用户(客户)可以输入他/她的地址并验证它是否在我们的送货区域内。

目前我在谷歌地图上设计了这一层:

https://www.google.com/maps/d/u/0/viewer?mid=1E3bcIm6Dy4icmTA4S-hEqOZeHpU

我使用什么技术?

我只需要一个公式的输入文本来写地址并用 OK 或 Sorry 回复。

我找到的所有信息都是计算路线的问题和解决方案,只需要验证一个区域内的地址。

现在我知道自动填充并保存地址以进行验证。现在我只需要知道如何验证我所在地区的方向。

【问题讨论】:

    标签: google-maps google-maps-api-3 geolocation


    【解决方案1】:

    这是给你的草图: https://jsfiddle.net/zw6f78xk/

    首先Place Autocomplete 用于输入地址,它会为您提供地址的位置

    然后location is checked是否在多边形里面。

    google.maps.geometry.poly.containsLocation(place.geometry.location, polygon)
    

    希望这会有所帮助。

    Update:

    但是现在因为您的谷歌地图上已经有了多边形,所以很容易修改它的形状并检索它的坐标。 只需将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());
        };
    });
    

    所以点击多边形会记录它的路径。

    Update 2:

    对键入的(但不是从自动完成中选择的)地址进行地理编码。 https://jsfiddle.net/zw6f78xk/3/

    【讨论】:

    • 能否提供最新版本的API demo fiddle?
    • JSFiddle 使用最新的 API 版本。我在脚本中添加了一条警报以显示 API 版本:jsfiddle.net/fqugdh2z
    猜你喜欢
    • 2013-03-29
    • 1970-01-01
    • 1970-01-01
    • 2013-08-22
    • 1970-01-01
    • 2017-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多