Javascript 如何获取给定地址/latlong的传递多边形?

Javascript 如何获取给定地址/latlong的传递多边形?,javascript,google-maps,geocoding,Javascript,Google Maps,Geocoding,比如说,我有一家餐厅,地址是“加州库比蒂诺市无限环路”。我也有这个地址的lat/long。我的投递半径是4英里。如何获得这个地址周围的多边形,并使用谷歌地图将其存储到我的数据库中 我想在我的网站上显示送货多边形,如果客户输入送货地址,我如何检查输入的地址是否在多边形范围内 快速/廉价的方法是计算矩形边界框(相对于圆),并存储边界框的NW/SE角以用于该位置。然后检查新地址的Lat/Lng是否在其他位置的边界框内。下面是一些伪代码: // location is an object that ha

比如说,我有一家餐厅,地址是“加州库比蒂诺市无限环路”。我也有这个地址的lat/long。我的投递半径是4英里。如何获得这个地址周围的多边形,并使用谷歌地图将其存储到我的数据库中


我想在我的网站上显示送货多边形,如果客户输入送货地址,我如何检查输入的地址是否在多边形范围内

快速/廉价的方法是计算矩形边界框(相对于圆),并存储边界框的NW/SE角以用于该位置。然后检查新地址的Lat/Lng是否在其他位置的边界框内。下面是一些伪代码:

// location is an object that has bounding box and location information (e.g., address)
// bounding box is represented as two points: NW and SE corner


foreach location in locations do            
{
     boundingbox = location.boundingbox;  
     NW = boundingbox.NW;
     SE = boundingbox.SE;
     if ( ( Lat <= NW.Lat && lat >= SE.Lat ) &&
        ( Lon >= NW.Lon && Lon <= SE.Lon ) )box

     {
         // The lat/lng of the new address is within the bounding box of this location     
     } 
}

你是怎么得到0.14的?有没有API可以用来计算给定中心的边界?我问这个问题的原因是,根据天气情况,我必须经常更新配送半径。示例:如果下雪,配送半径可以设置为1英里。所以,我只是想知道是否可以使用API调用计算这些参数。首先,我将其更改为0.145以使其更精确。这是纬度差等于10英里的程度。1度纬度为69英里(因此为10/69)。如果需要1英里的差异,请将数字更改为0.0145。对于经度,它在赤道以每度69英里的速度开始,然后向两极变窄。COS()方程近似于曲率。
NW.Lat = Lat - 0.145;
SE.Lat = Lat + 0.145;
rLat   = Lat * 0.0174532925; // radians
coff   = Math.cos(rlat); // approximating curvature of longitude lines
NW.Lon = Lon + (0.145 * coff);
SE.Lon = Lon - (0.145 * coff);