毕业设计(论文)-同城订奶系统的设计与实现.doc_第1页
毕业设计(论文)-同城订奶系统的设计与实现.doc_第2页
毕业设计(论文)-同城订奶系统的设计与实现.doc_第3页
毕业设计(论文)-同城订奶系统的设计与实现.doc_第4页
毕业设计(论文)-同城订奶系统的设计与实现.doc_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

盐 城 师 范 学 院毕 业 设 计同城订奶系统的设计与实现 学生姓名 学 院 信息工程学院 专 业 软件工程 班 级 12(4) 学 号 指导教师 2016 年 5 月 16 日盐城师范学院毕业设计同城订奶系统的设计与实现摘 要随着互联网的发展,越来越多的传统经营模式融入了互联网这个大圈子。同城订奶系统立足于订牛奶这一传统经营模式,通过一个网上公共平台,让同城的订奶用户拥有更多的选择,同时也让售奶商家获得更多的用户。本系统基于B/S架构,采用Spring+iBATIS+Struts2框架设计,实现对同一区域的牛奶预定管理。从管理员,订奶用户,供奶商家三个角色入手,实现了各角色应具有的管理、交易、统计等各方面功能。本文对同城订奶系统的设计背景、需求分析、系统设计、编码实现进行了详细的论述。本系统大大简化了用户订奶交易过程、扩大了可选择范围,同时商家可以更好地管理交易和推广自家商品。【关键词】网上订奶;同城;电子商务;Spring; Struts 2全套设计加扣 3012250582Design and Implementation of theSame City Milk Ordering System Abstract第 1 页 共 40 页With the development of the Internet, more and more traditional business models integrate the circle. The same city milk ordering system is based on the traditional business model of milk ordering. It not only can let the users get more choices, but also let milk businesses get more users by the online public platform. This system is based on B/S architecture and designed with spring,ibatis,struts2 framework to implement the same area of milk ordering management. From the administrator, ordering users and milk businesses, the system makes the management, trading, statistics and other aspects of the function come true. This article discusses the designing background, demand analysis, system design and code realization in detail. Through this system, users can simplify the milk ordering process, expand the range of options, businesses can manage transactions better and promote their goods. 【Key words】Milk Ordering Online, Same City, E-Commerce, MySQL, Spring,Struts 2第 1 页 共 40 页目录1 研究背景12 研究目的与意义13 系统分析13.1 系统需求分析13.1.1 系统功能需求分析13.1.2 系统性能需求分析13.1.3 开发环境需求分析23.2 系统可行性分析23.2.1 技术可行性23.2.2 经济可行性24 系统设计34.1 数据库设计34.1.1 数据库需求分析34.1.2 数据库概念结构设计34.1.3 数据库逻辑结构设计134.2 系统架构设计184.2.1 数据持久层184.2.2 业务逻辑层194.2.3 表现层195 系统实现195.1 公共功能实现195.1.1 首页195.1.2 登陆功能205.1.3 注册功能225.2 订奶用户功能实现225.2.1 订奶用户主要功能225.2.2 功能实现235.3 供奶商家功能实现275.3.1 供奶商家主要功能275.3.2 功能实现275.4 管理员功能实现305.4.1 管理员主要功能305.4.2 功能实现306 系统测试316.1测试目的316.2测试用例316.3测试结论32结 束 语33参考文献34致 谢351 研究背景随着互联网的发展,各行各业都在寻求一切机会把自己的发展与互联网相结合,O2O1的电子商务模式渐渐地的占据了大量的市场。在这样的趋势下,传统的订奶模式已经跟不上时代的步伐,同城订奶系统的出现就很有必要。2 研究目的与意义同城订奶系统是基于B/S2架构开发的系统,它将同一片地区的牛奶提供商连成一个整体,使得用户能够足不出户就可以了解附近的订奶信息并择优完成订奶交易,使得商家的产品得以推广到更大的范围,并能高效的管理自家的牛奶交易。使得订牛奶这一行业加入电子商务这一时代潮流,得到更好的发展。3 系统分析3.1 系统需求分析对市面上主流的电子商务平台系统进行分析,并调研了传统订奶交易流程的需求后,从定奶用户,供奶商家和系统管理员三个角色进行考虑,得到“同城订奶系统”的需求。3.1.1 系统功能需求分析本系统用户角色分为订奶用户,供奶商家和管理员三个部分。订奶用户可以浏览住址所在区/县级范围内的订奶信息,登陆后拥有管理个人信息,浏览,收藏,交易商品等功能。供奶商家可以管理自家店铺,发布商品,管理交易信息等功能。管理员可以管理用户信息,地址信息,商品类别制定等系统管理的功能。3.1.2 系统性能需求分析作为一种新一代O2O电子商务平台,同城订奶管理系统在性能方面需要考虑以下几个方面: (1)易操作性系统功能操作简单,操作习惯和当代主流O2O平台类似,不需要用户再花费时间熟悉系统。(2)易维护性系统源代码采用分层架构,多用接口,各代码块高内聚低耦合,维护方便。(3)稳定性系统管理员界面采用extjs + ajax技术,请求响应迅速,系统运行稳定。(4)高安全性系统各角色权限明确,用户密码通过MD5加密。3.1.3 开发环境需求分析(1)系统开发环境操作系统:Windows 7.开发语言:Java.开发工具:eclipse, Navicat for MySQL.开发数据库:MySQL.(2)服务器端运行环境服务器: Tomcat7.0.数据库服务器:MySQL 5.6.(3)客户端运行环境浏览器:Mozilla Firefox,Chrome,Internet Explorer 6.0及以上.3.2 系统可行性分析3.2.1 技术可行性Eclipse 4是一个开源的、基于Java的可扩展开发平台,它提供一系列插件可供软件开发人员高效得开发程序,所以从开发工具角度来说,是可行的。从设计语言角度来说,Java5作为一种面向对象设计语言,网站类系统可以采用J2EE技术架构,运用当前主流的框架可以很方便的进行开发。数据库方面,熟悉MySQL6的操作,熟悉sql语句,进行数据的增删改查也不存在什么技术问题。所以综上所述,开发这样一个系统从技术上来说是可行的。3.2.2 经济可行性作为一种O2O电子商务平台,同城订奶系统可以聚集大量客户资源,大大增加供奶商家的营业收益,并且网上售奶可以节省线下的门店开支。因此同城订奶系统的开发与设计是非常值得实施的。4 系统设计4.1 数据库设计4.1.1 数据库需求分析本系统使用17张数据表,分别是用户表t_user、订奶顾客表t_customer、售奶商家表t_seller、地址表t_address、区域表t_area、店铺表t_shop、商品信息表t_productinfo、商品图片表t_productimg、商品评论表t_producteval、商品类别表t_category、购物车表t_cart、购物车条目表t_cartitem、收藏夹表t_favorite、收藏夹条目表t_favoriteitem、订单表t_order、订单条目表t_orderItem、申请信息表t_reviewinfo。4.1.2 数据库概念结构设计在使用同城订奶系统时,首先需要用户登录才能使用,所以需要一个用户表来保存用户信息,用户表实体图如图4-1所示;用户又分为三种角色,不同的角色拥有不同的属性和方法,其中订奶用户角色表的实体图如图4-2所示;另一种用户角色供奶商家实体图如图4-3所示。图4-1用户表的实体图图4-2订奶用户表的实体图图4-3供奶商家表的实体图以上三个实体之间是互相关联的,它们关联的实体类图如图4-4所示。图4-4用户、供奶商家、订奶用户类图用户登陆后需要浏览各种牛奶商品信息,所以需要创建一个商品信息表来保存商品信息;商品又分为不同的种类,所以需要一个商品类别表来保存商品类别信息;每一件商品都有自己的图片,而且不一定每件商品只有一张图片,所以需要创建一个商品图片表来保存图片信息;用户购买了商品后会对商品进行评价,所以需要一个商品评价表来保存评价信息。商品信息表实体图如图4-5所示、商品类别信息表实体图如图4-6所示、商品图片表实体图如图4-7所示、商品评价表实体图如图4-8所示。图4-5商品信息表的实体图图4-6类别图片表的实体图图4-7商品图片表的实体图图4-8商品评论表的实体图以上四个实体之间的对应关系的类图如图4-9所示。图4-9商品信息,商品类别信息,商品图片,商品评论类图用户看到心仪的商品想要收藏起来,则需要一个收藏夹表和一个收藏条目表来保存收藏的商品,收藏夹表实体图如图4-10所示,收藏条目表实体图如图4-11所示。图4-10收藏夹表实体图图4-11收藏条目表实体图以上两个实体之间的对应关系的类图如图4-12所示。图4-12收藏夹、收藏条目类图用户看到想购买的商品想要加入购物车,则需要一个购物车表和一个购物车条目表来保存加入购物车的商品,购物车表实体图如图4-13所示,购物车条目表实体图如图4-14所示。图4-13购物车表的实体图图4-14购物车条目表的实体图以上两个实体之间的对应关系的类图如图4-15所示。图4-15购物车、购物车条目类图用户购买了商品后需要生成订单信息,则需要一个订单信息表和一个订单信息条目表来保存订单信息,订单表实体图如图4-16所示,订单条目表实体图如图4-17所示。图4-16订单表的实体图图4-17订单条目表的实体图以上两个实体之间的对应关系的类图如图4-18所示。图4-18订单、订单条目类图商品是存在于店铺中的,所以需要一个店铺表来保存店铺信息;店铺、用户等都有自己的地址,所以需要一个地址表来存储地址信息;地址按照三级区域划分,所以需要一个区域表来保存区域信息。店铺表实体图如图4-19所示、地址表实体图如图4-20所示、区域表实体图如图4-21所示。图4-19店铺表实体图图4-20地址表实体图图4-21区域表实体图以上三个实体之间的对应关系的类图如图4-22所示。图4-22区域、地址、店铺类图整个数据库视图如图4-23所示。图4-23完整数据库视图4.1.3 数据库逻辑结构设计同城订奶系统各数据表的结构如下:(1)用户表t_user用户表t_user用于保存基本用户信息,其设计结构如表4-1所示。表4-1用户表字段名类型约束说明是否允许为空idbigintprimary key用户id否userNamevarchar用户名否userPwdvarchar密码否headPicvarchar头像路径是typevarchar用户类型否(2)订奶用户表t_customer订奶用户表t_customer订奶用户角色的基本信息,其设计结构如表4-2所示。表4-2订奶用户表字段名类型约束说明是否允许为空idbigintprimary key顾客id否realNamevarchar姓名否sexvarchar性别是mobilevarchar电话号码是emailvarchar电子邮件是userIdbigintforeign key用户id否(3)供奶商家表t_seller供奶商家表t_seller用于保存供奶商家的基本信息,其设计结构如表4-3所示。表4-3供奶商家表字段名类型约束说明是否允许为空idbigintprimary key卖家id否namevarchar姓名否sexvarchar性别是mobilevarchar电话号码是emailvarchar电子邮件是photovarchar证件照路径否idCardNumvarchar身份证号否shopIdbigintforeign key拥有店铺id否UserIdbigintforeign key用户id否(4)区域表t_area区域表t_area 用于保存三级区域信息,其设计结构如表4-4所示。表4-4区域表字段名类型约束说明是否允许为空idbigintprimary key区域id否parentIdbigintforeign key父节点id否namevarchar区域名(省/市/区)是(5)地址表t_address地址表t_address用于保存用户或店铺的地址信息,其设计结构如表4-5所示。表4-5地址表字段名类型约束说明是否允许为空idbigintprimary key地址id否flagint是否为默认地址(1是;0否)是namevarchar收货人姓名是mobilevarchar收货人电话号码是addrvarchar详细地址否areaIdbigintforeign key区域id否postNumint邮编是userIdbigintforeign key对应用户Id否adLongitudedecimal经度否adLatitudedecimal纬度否(6)店铺表t_shop店铺表t_shop用于保存店铺信息信息,其设计结构如表4-6所示。表4-6店铺表字段名类型约束说明是否允许为空idbigintprimary key店铺id否shopNamevarchar商铺名否headPicvarchar商铺头像路径是telvarchar商铺电话否levelsmallint商铺等级是addressIdbigintforeign key商铺地址id否sellerIdbigintforeign key商铺店主id否SendRangeint送奶范围否(7)收藏夹表t_favorite收藏夹表t_favorite用于保存用户收藏夹信息,其设计结构如表4-7所示。表4-7收藏夹表字段名类型约束说明是否允许为空idbigintprimary key收藏夹id否customerIdbigintforeign key顾客id否(8)收藏夹条目表t_favoriteitem收藏夹条目表t_favoriteitem用于保存用户收藏的商品条目信息,其设计结构如表4-8所示。表4-8收藏夹条目表字段名类型约束说明是否允许为空idbigintprimary key收藏夹条目id否favoriteIdbigintforeign key收藏夹id否productInfoIdbigintforeign key收藏的商品id否shopIdbigintforeign key收藏的商铺id否typesmallint条目的类型(1:店铺;0:商品)否(9)购物车表t_cart购物车表t_cart用于保存用户的购物车信息,其设计结构如表4-9所示。表4-9购物车表字段名类型约束说明是否允许为空idbigintprimary key购物车id否customerIdbigintforeign key顾客id否(10)购物车条目表t_cartitem购物车条目表t_cartitem用于保存用户购物车内的商品信息,其设计结构如表4-10所示。表4-10购物车条目表字段名类型约束说明是否允许为空idbigintprimary key购物车条目id否cartIdbigintforeign key购物车id否productInfoIdbigintforeign key商品id否amountint数量否(11)订单表t_order订单表t_order用于保存用户的订单信息,其设计结构如表4-11所示。表4-11订单表字段名类型约束说明是否允许为空idbigintprimary key订单id否totalPricedecimal订单总价否createTimeDatedatetime创建日期否startDatedatetime开始送奶日期否codevarchar订单号否orderStatevarchar订单状态否shopIdbigintforeign key店铺id否customerIdbigintforeign key买家id否addressIdbigintforeign key送奶地址id否(12)订单条目表t_orderitem订单条目表t_orderitem用于保存用户订单条目的详细信息,其设计结构如表4-12所示。表4-12订单条目表字段名类型约束说明是否允许为空idbigintprimary key订单条目id否amountint商品数量否productInfoIdbigintforeign key购买的的商品id否orderIdbigintforeign key订单id否(13)商品信息表t_productinfo商品信息表t_productinfo用于保存商品的详细信息,其设计结构如表4-13所示。表4-13商品信息表字段名类型约束说明是否允许为空idbigintprimary key商品详细信息id否namevarchar商品名否pricedecimal价格是totalPricedecimal套餐价是evaluationdecimal商品评分是specvarchar商品规格是packingvarchar商品包装方式是brandvarchar品牌否placeOfOriginvarchar产地否qualityGuaranteePeriodvarchar保质期否sellCountint销售量否storageCountint库存量否producervarchar生产商是standardNumvarchar标准号否shopIdbigintforeign key所在商铺id否categoryIdbigintforeign key所属种类id是(14)商品图片表t_productimg商品图片表t_productimg用于保存商品的图片信息,其设计结构如表4-14所示。表4-14商品图片表字段名类型约束说明是否允许为空idbigintprimary key商品图片id否typevarchar图片类别是productInfoIdbigintforeign key商品id否addrvarchar图片路径否(15)商品评论表t_producteval商品评论表t_producteval用于保存用户对商品的评价信息,其设计结构如表4-15所示。表4-15商品评论表字段名类型约束说明是否允许为空idbigintprimary key商品评论id否evalvarchar评论是scoredecimal评分是typeint类别是customerIdbigintforeign key顾客id否productIdbigintforeign key商品id否(16)商品类别表t_category商品类别表t_category用于保存商品的类别信息,其设计结构如表4-16所示。表4-16商品类别表字段名类型约束说明是否允许为空idbigintprimary key商品类别id否namevarchar类别名否parentIdbigintforeign key父节点id是(17)审核信息表t_reviewinfo审核信息表t_reviewinfo用于保存用户申请开店的申请信息,其设计结构如表4-17所示。表4-17审核信息表字段名类型约束说明是否允许为空idbigintprimary key申请id否stateint申请状态否createDatedatetime创建时间否finishDatedatetime完成时间否sellerIdbigintforeign key商家id否4.2 系统架构设计系统采用B/S架构,使用Struts2+Spring+iBATIS轻量级开源集成框架,以MySQL作为数据库,Tomcat作为Web应用服务器分层设计实现。横向分层参照标准 MVC三层体系结构,数据持久层,业务逻辑层和表现层。4.2.1 数据持久层数据持久层通过ibatis7操纵数据库,相对于hibernate来说ibatis是一种“半自动化”持久层框架,它通过sql语句来操作数据库,使得数据操作更加灵活。并且,ibatis的SQLClientMap的缓存机制可以保证基础应用的数据不进行重复读取,优化了数据库的查询。4.2.2 业务逻辑层业务逻辑层在体系架构中的位置很关键,它处于数据持久层与表现层中间,起到了数据交换中承上启下的作用。对于业务逻辑层的设计,本系统采用了面向接口的设计思想,但是对于service层的设计并没有设计接口,因为每一个业务逻辑都是完整的,不可能同一种业务逻辑有两种实现方式。各业务对象通过spring进行了注入,每一个对象能够清楚地知道知道自己的上一层被谁调用,下一层调用谁8。4.2.3 表现层表现层管理员界面采用了extjs9+ajax技术,ajax10的局部刷新使得请求响应较快,而extjs富客户端技术功能丰富,其提供的各种插件使用方便快捷,界面美观。5 系统实现5.1 公共功能实现5.1.1 首页系统以未登录状态的订奶用户主页作为首页,显示的主要有登陆、注册按钮,功能菜单,商品搜索框,活动商品海报,以及部分商品的列表。系统首页如图5-1所示。图5-1系统首页 首页实现思路:(1)登陆、注册按钮:通过判断session里有没有User对象来控制,如果没有则显示登陆注册按钮,如果没有则显示登录用户名和注销按钮。(2)功能菜单:未登录状态仅“商品”功能可用,点击其它菜单则跳转至登录界面。(3)搜索框:前台是一个form表单,后台通过前台传入的“商品或店铺名”模糊查询,查询后调至商品列表页面。(4)部分商品列表:按照类别查询,显示各类别商品的前五个商品。5.1.2 登陆功能 登陆页面如图5-2所示图5-2登陆页登陆功能实现思路:系统按用户名和密码查询用户,查询成功则按用户角色判断,若为“管理员”admin角色则跳转至管理员主页;若为订奶用户customer角色则跳转至订奶用户主页;若为供奶商家seller角色则跳转至供奶商家主页。部分后台代码如下:Action(value = login, results = Result(name = customersuccess, type = redirect, location = /jsp/customer/index.jsp),Result(name = sellersuccess, type = redirect, location = /jsp/seller/index.jsp),Result(name = adminsuccess, type = redirect, location = /jsp/admin/index.jsp),Result(name = fail, type = redirect, location = loginUI) )public String login() throws Exception User user = userService.loginCheck(model.getUserName(),GetMD5.getMD5(model.getUserPwd();if (user = null) addFieldError(login, 用户名或密码不正确!);return fail; else ActionContext.getContext().getSession ().put(user, user);if (user.getType().equals(customer) Customer customer = customerService.findCustomerByUser(user.getId();List yoghourtList = productInfoService.findProductInfoByCategoryId(1, 5, 2L, 220L);List milkList = productInfoService.findProductInfoByCategoryId(1, 5, 1L, 220L);List yoghourtDtos = new ArrayList();List milkDtos = new ArrayList();for (ProductInfo productInfo : yoghourtList) String imgSrc = productImgService.findProductImgByProductId(productInfo.getId().getAddr();ProductDto yoghourtDto = new ProductDto(productInfo);yoghourtDto.setProImg(imgSrc);yoghourtDtos.add(yoghourtDto);for (ProductInfo productInfo : milkList) String imgSrc = productImgService.findProductImgByProductId(productInfo.getId().getAddr();ProductDto milkDto = new ProductDto(productInfo);milkDto.setProImg(imgSrc);milkDtos.add(milkDto);ActionContext.getContext().getSession().put(customer, customer);ActionContext.getContext().getSession().put(user, user);ActionContext.getContext().getSession().put(milkDtos, milkDtos);ActionContext.getContext().getSession().put(yoghourtDtos, yoghourtDtos);return customersuccess; else if (user.getType().equals(seller) Seller seller = sellerService.findSellerByUser(user.getId();ActionContext.getContext().getSession().put(seller, seller);return sellersuccess; else if (user.getType().equals(admin) return adminsuccess; else return fail;5.1.3 注册功能 注册页面如图5-3所示图5-3注册页 注册页实现思路:注册信息填写提交后后台保存用户信息,默认创建订奶用户customer角色。5.2 订奶用户功能实现5.2.1 订奶用户主要功能用户注册:注册成功以后,成为customer订奶用户角色。用户登录:注册成功的用户才可以进行登录,登录成功后方可使用customer角色相关的功能。商品浏览:支持商品/店铺名模糊查询,支持按类别浏览,支持按价格或按销量排序。个人信息管理:支持密码修改,用户信息修改,上传头像。购物车管理:支持添加商品条目,修改商品条目数量,删除商品条目。收藏夹管理:支持添加商品条目,移除商品条目。订单管理:支持用户查看订单,支持按订单状态查看订单,删除订单,发布评论。商品结算管理:支持新增、修改、删除用户地址。5.2.2 功能实现主页实现思路:顾客登录后可以使用菜单栏显示的所有功能,左上方的定位是通过百度地图的API接口自动定位到当前位置。customer主页如图5-4所示。图5-4订奶用户主页商品展示功能实现思路:进入商品页有两种方式,一是通过菜单栏商品下拉标签按类别进入商品页浏览商品,二是通过页面下半部分的“部分商品展示”上方的“更多”超链接进入。页面支持按商品价格、商品销售量排序查询商品。部分后台代码:Action(value = findAllProduct, results = Result(name = findAllProductsuccess, type = redirect, location = /jsp/product/product.jsp)public String findAllProduct() throws Exception HttpServletResponse response = (HttpServletResponse) ActionContext.getContext().get(ServletActionContext.HTTP_RESPONSE);HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);response.setCharacterEncoding(UTF-8);Object objAreaId = request.getParameter(areaId);Object objCateId = request.getParameter(categoryId);Object objIndex = request.getParameter(page);Object objSize = request.getParameter(limit);PageBean pageBean = new PageBean();int pageIndex = 1;int pageSize = 15;int count = 0;Long areaId = 220L;if (objIndex != null) pageIndex = Integer.valueOf(objIndex.toString();if (objSize != null) pageSize = Integer.valueOf(objSize.toString();System.out.println(areaId);if (objAreaId != null) areaId = Long.valueOf(objAreaId.toString();if (objCateId = null) count = productInfoService.countProductInfoByAreaId(areaId);List list = productInfoService.findProductInfoByAreaId(pageIndex, pageSize, areaId);List productDtos = new ArrayList();for (ProductInfo productInfo : list) String imgSrc = productImgService.findProductImgByProductId(productInfo.getId().getAddr();ProductDto pDto = new ProductDto(productInfo);pDto.setProImg(imgSrc);productDtos.add(pDto);pageBean.setCurrentIndex(pageIndex);pageBean.setPageSize(pageSize);pageBean.setCount(count);pageBean.setList(productDtos);else Long categoryId = Long.valueOf(objCateId.toString();count = productInfoService.countProductInfoByCategoryId(categoryId, areaId);List list = productInfoService.findProductInfoByCategoryId(pageIndex, pageSize, categoryId, areaId);List productDtos = new ArrayList();for (ProductInfo productInfo : list) String imgSrc = productImgService.findProductImgByProductId(productInfo.getId().getAddr();ProductDto pDto = new ProductDto(productInfo);pDto.setProImg(imgSrc);productDtos.add(pDto);pageBean.setCurrentIndex(pageIndex);pageBean.setPageSize(pageSize);pageBean.setCount(count);pageBean.setList(productDtos);ActionContext.getContext().getSession().put(pageBean, pageBean);return findAllProductsuccess;(4)购物车实现思路:用户浏览商品,点击加入购物车按钮,则商品添加进购物车,用户可点击菜单购物车进入购物车界面查看购物信息,在购物车界面可以修改商品数量,移除商品,结算商品。(5)收藏夹实现思路:类似于购物车界面,用户浏览商品点击收藏按钮,则商品收藏进收藏夹。在收藏夹界面可以取消收藏。(6)结算功能实现思路:结算页面具有添加地址功能,用户之前若从未添加过收货地址则提示添加收货地址,根据填入的收货地址通过百度地图的API接口,获得输入地址的经纬度,再后台查出所选商品所在店铺的经纬度,根据经纬度算出两地址之间的直线距离,若距离超出店铺的送奶范围(创建店铺时添加的送奶范围字段)则提示超出送奶范围。否则创建订单。根据输入地址获取经纬度部分js代码实现如下: var map = new BMap.Map(container); var localSearch = new BMap.LocalSearch(map);function getLocalByInput() map.clearOverlays(); var inputText = document.getElementById(text).value; localSearch.setSearchCompleteCallback(function (searchResult) var poi = searchResult.getPoi(0); map.centerAndZoom(poi.point, 13); var marker = new BMap.Marker(new BMap.Point(poi.point.lng, poi.point.lat); /要查询的地方对应的经纬度 map.addOverlay(marker); var lng = poi.point.lng

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论