地图实现外卖搜索功能 现在要做一个外卖功能,首页是个地图搜索效果,传统的地图搜索功能都是在中心点周边几公里内查找,但是外卖的有个特殊情况,每个餐厅都有一个配送范围(意思大家应该都懂的);如图所示:已知中心点坐标、A/B/C/D四点坐标及各自的配送范围,现在要实现查找所有符合配送范围在中心点位置的餐厅A、B、C,请问路过的大神有没有这方面的经验,给个提示,感激不尽!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在哪里搜索呢?将 配送范围(多边形)以 x,y,x,y,.... 这样的格式保存到一个字段先以常规的方法检索出店铺然后逐个判断中心点是否在配送范围中function in_polygon($x, $y, $ar) { $j = count($ar) - 2; $res = 0; for($i=0; $i<count($ar); $i+=2) { if( (($ar[$i+1] < $y && $ar[$i+1] >= $y) || ($ar[$j+1] < $y && $ar[$i+1] > $y)) && ($ar[$i] <= $x || $ar[$j] <= $x) ) $res ^= ($ar[$i] + ($y-$ar[$i+1])) / ($ar[$j+1] - $ar[$i+1]) * ($ar[$j] - $ar[$i]) < $x; $j = $i; } return $res;} 要做的效果和http://waimai.meituan.com/?stay=1一样,输入一个模糊地址,然后通过百度的LocalSearch查找坐标点,根据这些坐标点查找本地的商家,如果数据量比较大的时候,用您提供的这个方法效率会不会慢呢?? 谢谢你,不过我测试了一下不好使,不知道是不是我弄错了。我的数据是:$lng = '120.62761';$lat = '31.304047';$polygon = '120.62876,31.314105|120.609644,31.308613|120.619274,31.294605|120.632066,31.292692|120.641767,31.295407|120.644929,31.303245|120.64342,31.306639|120.639108,31.311328';如果用你提供的方法应该怎么调整呢? 求购一个PHP版的私服发布程序 多前台,每个前台独立ip,后台统一管理这些前台? 关于linux 外网 连接 光纤的IP php调用其他网站内代码的问题 急!!连接phpMyAdmin-3.4.3.2-all-languages报错!求解! lnmp面板 - AMH3.0 WeSpace人才网 关于xampp安装的一个简单问题: 有没有觉得csdn很少php的东西 php curl方法抓取百度页面的时候,不显示图片 请高手帮我吧原文弄出来,我整的很久也没搞出来 请问把文章信息和文章内容分表的具体意义?
将 配送范围(多边形)以 x,y,x,y,.... 这样的格式保存到一个字段
先以常规的方法检索出店铺
然后逐个判断中心点是否在配送范围中function in_polygon($x, $y, $ar) {
$j = count($ar) - 2;
$res = 0;
for($i=0; $i<count($ar); $i+=2) {
if(
(($ar[$i+1] < $y && $ar[$i+1] >= $y) || ($ar[$j+1] < $y && $ar[$i+1] > $y))
&& ($ar[$i] <= $x || $ar[$j] <= $x)
) $res ^= ($ar[$i] + ($y-$ar[$i+1])) / ($ar[$j+1] - $ar[$i+1]) * ($ar[$j] - $ar[$i]) < $x;
$j = $i;
}
return $res;
}
谢谢你,不过我测试了一下不好使,不知道是不是我弄错了。
我的数据是:$lng = '120.62761';
$lat = '31.304047';
$polygon = '120.62876,31.314105|120.609644,31.308613|120.619274,31.294605|120.632066,31.292692|120.641767,31.295407|120.644929,31.303245|120.64342,31.306639|120.639108,31.311328';如果用你提供的方法应该怎么调整呢?