H5+JAVA实现最短路径算法与地图显示(第二天)

本贴最后更新于 3164 天前,其中的信息可能已经渤澥桑田

今天太累了,就说下后台部分吧。

首先数据库的结构设计。

Point表

Id

地点名称

编号

横坐标

纵坐标

Long

name

number

x

y

主键

String

int

 int

 int

 

Line表

Id

起点横坐标

起点纵坐标

终点横坐标

终点纵坐标

长度

是否可骑行

编号

Long

from_x

from_y

to_x

to_y

length

IsAbleBike

Int(例如1_2)

主键

int

int

int

int

int

Boolean

String

 一共就两张数据表,来记录所有的点和线。

我使用的数mysql数据库,附上我对数据库的操作类:

//point
//接口
/**
 * 
 */
package com.global.dao;

import java.util.List;

import com.global.models.Point;
import com.global.models.User;

/**

  • @author :刘鑫
  • 说明:
  • 时间:2015 年 9 月 21 日
    */
    public interface PointDAO {
    void save(Point point);
    void delete(int number);
    void delete(long id);
    List<Point> findAllPoint();
    Point find(int number);
    Point find(long id);
    }

//line 接口
package com.global.dao;

import java.util.List;

import com.global.models.Line;

public interface LineDAO {
void save(Line line);
void delete(long id);
void delete(String mumber);
void delete(int from,int to);
Line find(String number);
Line find(int from,int to);
List<Line> findAll();

}

这只是接口,后面还需要具体实现这些接口类。

数据有了,就可以进行操作了。什么添加点,添加线啊什么的直接在控制器里买呢调用上面的接口就可以了。

举一个例子吧,添加一条线段:

//			添加线
			/**	前台传过来用户输入的参数
			 * @param fromPoint
			 * @param toPoint
			 * @param lenth
			 * @param ableBike
			 * @return 返回结果
			 */
			@RequestMapping(value = "/addLine", method = RequestMethod.POST)
			public @ResponseBody NetResult addLine(HttpSession session,
			@RequestParam(required = false) int fromPoint,//
			@RequestParam(required = false) int toPoint,
			@RequestParam(required = false) int lenth,
			@RequestParam(required = false) boolean ableBike)
			{
				NetResult r=new NetResult();
					LineDAO ldao=new LineDAOImpl();
					if(ldao.find(fromPoint, toPoint)!=null) {
						r.status=-1;
						r.result="已存在该条线段";
						return r ;
					}
					else {
						Line line=new Line();
						PointDAO pdao=new PointDAOImpl();
						Point from=pdao.find(fromPoint);
						Point to=pdao.find(toPoint);
						line.setFrom_x(from.getX());
						line.setFrom_y(from.getY());
						line.setTo_x(to.getX());
						line.setTo_y(to.getY());
						line.setAbleBike(ableBike);
						line.setNumber(fromPoint+"_"+toPoint);
						line.setLenth(lenth);
						ldao.save(line);
						r.status=0;
						r.result="添加成功";
					}
				return r;
			}

 

其他类似。

 

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • jsDelivr

    jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。

    5 引用 • 31 回帖 • 49 关注
  • Vim

    Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。

    27 引用 • 66 回帖 • 1 关注
  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    5 引用 • 13 回帖 • 1 关注
  • 学习

    “梦想从学习开始,事业从实践起步” —— 习近平

    163 引用 • 473 回帖
  • 服务

    提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技术支持等。

    41 引用 • 24 回帖 • 9 关注
  • 游戏

    沉迷游戏伤身,强撸灰飞烟灭。

    170 引用 • 801 回帖 • 1 关注
  • 智能合约

    智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于 1994 年由 Nick Szabo 首次提出。

    1 引用 • 11 回帖 • 11 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    6682 引用 • 29985 回帖 • 242 关注
  • Kotlin

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由 JetBrains 设计开发并开源。Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在 Google I/O 2017 中,Google 宣布 Kotlin 成为 Android 官方开发语言。

    19 引用 • 33 回帖 • 31 关注
  • BND

    BND(Baidu Netdisk Downloader)是一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac,详细介绍请看这里

    107 引用 • 1281 回帖 • 27 关注
  • 创业

    你比 99% 的人都优秀么?

    82 引用 • 1398 回帖 • 3 关注
  • 自由行
    4 关注
  • 禅道

    禅道是一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法 scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。

    5 引用 • 15 回帖 • 209 关注
  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    10 引用 • 54 回帖 • 134 关注
  • 人工智能

    人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。

    73 引用 • 157 回帖
  • 笔记

    好记性不如烂笔头。

    306 引用 • 780 回帖
  • 尊园地产

    昆明尊园房地产经纪有限公司,即:Kunming Zunyuan Property Agency Company Limited(简称“尊园地产”)于 2007 年 6 月开始筹备,2007 年 8 月 18 日正式成立,注册资本 200 万元,公司性质为股份经纪有限公司,主营业务为:代租、代售、代办产权过户、办理银行按揭、担保、抵押、评估等。

    1 引用 • 22 回帖 • 690 关注
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖 • 1 关注
  • 安全

    安全永远都不是一个小问题。

    189 引用 • 813 回帖
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    24 引用 • 373 回帖 • 1 关注
  • 导航

    各种网址链接、内容导航。

    37 引用 • 168 回帖
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 295 关注
  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 427 关注
  • App

    App(应用程序,Application 的缩写)一般指手机软件。

    90 引用 • 383 回帖
  • HHKB

    HHKB 是富士通的 Happy Hacking 系列电容键盘。电容键盘即无接点静电电容式键盘(Capacitive Keyboard)。

    5 引用 • 74 回帖 • 415 关注
  • CAP

    CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。

    11 引用 • 5 回帖 • 569 关注
  • SMTP

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。

    4 引用 • 18 回帖 • 595 关注