百度地图使用说明
类目服务
- 增删改
post /category delete /category put /category - 获取分类列表
get /category/list?cid=""当cid=""时,得到第一层的分类。
商品服务
- 增删改
post /product delete /product put /product - 获取商品列表
get /product/list?cid
评价服务
- 增删改
post /category delete /category put /category - 获取当前用户评价
get /comment/user?oid=''oid:用户订单的编号,可以为空。
- 获取商品评价
get /comment/product?pid获取指定商品的评价,不可以为空。
购物车服务
- 用户进入购物车时,系统会自动定位用户的地理位置作为快递地址。
- 用户可以选择其它地址作为快递地址,自提点会被优先推荐,其次是用户历史地址。
- 用户确认快递地址后,系统会选中所有可快递商品,不可快递商品不能选择。
- 用户过滤可邮寄商品作为订单商品,创建订单。
- 用户完成订单支付后系统会给出推荐邮寄送达时间点。用户可以选择最佳时间段,默认最近时间。
对于自提产品,用户只能选择自提点作为邮寄地址。如果订单为自提点。系统会在自提时间点前通知用户尽快领取。
门店选择
技术
地图使用百度地图,相关api参考baidu api
主要代码:
<div data-role="page">
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3"></script>
<div data-role="header" data-position="fixed">
<h1 id="result">订餐</h1>
</div>
<div data-role="content">
<div id="container" style="position: absolute; width: 500px; height: 350px; top:150px; border: 1px solid gray; overflow:hidden;">
</div>
<script type="text/javascript">
var map = new BMap.Map("container");
map.enableScrollWheelZoom(); //启用滚轮放大缩小,默认禁用
map.enableContinuousZoom(); //启用地图惯性拖拽,默认禁用
//map.addControl(new BMap.NavigationControl()); //添加默认缩放平移控件
//map.addControl(new BMap.OverviewMapControl()); //添加默认缩略地图控件
//map.addControl(new BMap.OverviewMapControl({ isOpen: true, anchor: BMAP_ANCHOR_BOTTOM_RIGHT })); //右下角,打开
map.centerAndZoom("上海", 12);
var marker = new BMap.Marker(map.point);
//marker.disableDragging(); // 不可拖拽
map.addEventListener("click", function (e) {
map.removeOverlay(marker);
marker = new BMap.Marker(e.point);// 创建标注
map.addOverlay(marker);
selectpoint = e.point.lng + "," + e.point.lat;
$("#result").html(selectpoint);
var gc = new BMap.Geocoder();
gc.getLocation(e.point, function (rs) {
var addComp = rs.addressComponents;
console.log(rs);
nidizhi = rs.address;
$("#result").html(rs.address);
});
return false;
});
var localSearch = new BMap.LocalSearch(map);
localSearch.enableAutoViewport(); //允许自动调节窗体大小
var keyword = "沪青平公路1881号";
localSearch.setSearchCompleteCallback(function (searchResult) {
map.clearOverlays();//清空原来的标注
var poi = searchResult.getPoi(0);
map.centerAndZoom(poi.point, 12);
var marker = new BMap.Marker(poi.point); // 创建标注,为要查询的地址对应的经纬度
var content = "经度:" + poi.point.lng + "<br/>纬度:" + poi.point.lat;
var infoWindow = new BMap.InfoWindow(content);
marker.addEventListener("click", function () {
this.openInfoWindow(infoWindow);
return false;
});
marker.setAnimation(/*BMAP_ANIMATION_BOUNCE*/); //跳动的动画
map.addOverlay(marker);
});
localSearch.search(keyword);
</script>
</div>
</div>