jsp拖拽功能实现

IE理论上也可以实现,但是下面测试却没实现不知道什么原因。

1、html

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>设置页面展示信息_详情页</title>
<style type="text/css">
	div{
		width:50% !important;
	}
</style>
</head>
<body>
<div width='50% !important' style="float: left" id='foo'>
    <li style="background-color: white">1</li>
     <li style="background-color: white">2</li>
</div>
<div width='50% !important' style="float: left" id='bar'>
	 <li style="background-color: gray">3</li>
	  <li style="background-color: gray">4</li>
</div>

<script type="text/javascript" src="js/Sortable.js"></script>
<script type="text/javascript" src="js/angular.min.js"></script>
<script type="text/javascript" src="js/appInfo.js"></script>
</body>
</html>

2、需要的js

链接地址:https://pan.baidu.com/s/1JR7G3bD1BtsD8J4IPvTvRQ

密码:nd6m



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要实现这个功能,需要以下步骤: 1. 在数据库中存储经纬度信息,可以使用MySQL等关系型数据库或者MongoDB等文档型数据库。 2. 在JSP页面中编写Java代码,通过JDBC连接数据库,查询经纬度信息,并将其存储在Java对象中。 3. 使用百度地图API,在JSP页面中嵌入地图,并将Java对象中的经纬度信息传递给地图API,绘制路径轨迹。 4. 可以使用JavaScript或者jQuery等前端技术,对地图进行交互操作,比如缩放、拖拽等。 需要注意的是,百度地图API需要申请密钥才能使用,具体申请方法可以参考百度地图开发者中心的文档。同时,为了保证数据的安全性,需要对数据库连接进行安全设置,比如使用SSL加密等。 ### 回答2: JSP 作为 Java 服务器页面,可以调用后端的 Java 代码来从数据库中获取经纬度的信息,并将这些信息传递给百度地图 JavaScript API,以在页面上绘制路径轨迹。 首先,需要在后端编写 Java 代码来执行数据库查询操作,获取经纬度信息并将其转换为 JSON 格式或其他格式的数据,以便在前端使用。可以使用 JDBC 连接数据库,执行 SELECT 查询语句,将结果集转换为 JSON 对象或其他 Java 对象。 然后,在前端页面的 JSP 文件中引入百度地图 JavaScript API,通过 API 中提供的绘制轨迹的方法将从数据库中获取到的经纬度信息绘制在地图上。可以创建一个 JavaScript 函数,在页面加载完成后从后端获取经纬度信息,然后使用 API 中的 Polyline 对象绘制路径轨迹。Polyline 对象可以接受一个数组参数,数组中包含多个经纬度坐标点,即路径的两个端点和中途经过的点。 在绘制路径轨迹的过程中,还可以根据需要添加其他功能,例如显示标记点、调整地图缩放级别、添加控件等等。此外,在获取经纬度信息的过程中,还需要考虑如何处理异常情况,例如数据库连接失败、查询结果为空等等。 总之,通过使用 JSP 和百度地图 JavaScript API,可以方便地将从数据库中获取的经纬度信息在网页上展示为路径轨迹,具有一定的实用价值。 ### 回答3: JSP可以通过数据库调用经纬度,在百度地图上显示路径轨迹,具体步骤如下: 1.准备工作 在JSP页面中,需要引用百度地图API的相关库文件,包括: ``` <script type="text/javascript" src="http://api.map.baidu.com/api?v=3.0&ak=您的密钥"></script> <script type="text/javascript" src="http://api.map.baidu.com/library/MarkerClusterer/1.2/src/MarkerClusterer_min.js"></script> ``` 其中`ak`是您在百度地图开放平台申请的密钥,`MarkerClusterer`是用于对多个标记进行聚合显示的组件库。 2.获取数据 使用JDBC连接数据库,并执行相应的SQL语句获取经纬度数据,存储到一个Java List中: ``` List<LatLng> path = new ArrayList<LatLng>(); // 使用JDBC连接数据库,查询经纬度数据并存储到path中 Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password"); String sql = "SELECT latitude, longitude FROM track ORDER BY timestamp"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); while (rs.next()) { double lat = rs.getDouble("latitude"); double lng = rs.getDouble("longitude"); LatLng point = new LatLng(lat, lng); path.add(point); } ``` 这里假设数据库中存储的是轨迹数据,包括纬度、经度和时间戳。根据时间戳排序,保证轨迹按照时间顺序绘制。 3.绘制轨迹 将获取到的经纬度数据,使用`Polyline`对象在地图上绘制轨迹: ``` // 创建轨迹线条对象 PolylineOptions polylineOptions = new PolylineOptions(); // 遍历经纬度数据,添加到轨迹线条中 for (LatLng point : path) { polylineOptions.add(point); } // 设置轨迹线条样式 polylineOptions.color(Color.BLUE); polylineOptions.width(5); // 将轨迹线条添加到地图上 Polyline polyline = (Polyline) map.addOverlay(polylineOptions); ``` 在上述代码中,`PolylineOptions`是用于设置轨迹线条样式的类,`color`和`width`分别表示线条颜色和宽度,`map`是`BaiduMap`对象,可通过初始化时返回的`Map`对象获取。 4.聚合标记 如果轨迹点较多,会导致地图上标记过于密集,影响视觉效果。这时可以使用`MarkerClusterer`对标记进行聚合显示: ``` // 创建聚合标记对象 MarkerClusterer clusterer = new MarkerClusterer(map); // 创建轨迹点标记,并添加到聚合标记对象中 for (int i = 0; i < path.size(); i++) { LatLng point = path.get(i); MarkerOptions markerOptions = new MarkerOptions().position(point) .icon(BitmapDescriptorFactory.fromResource(R.drawable.icon_gcoding)) .zIndex(i); Marker marker = (Marker) map.addOverlay(markerOptions); clusterer.addMarker(marker); } // 设置聚合样式 clusterer.setClusterClickable(true); clusterer.setClusterCheckable(false); ``` 在上述代码中,`MarkerOptions`是用于设置标记样式的类,`icon`表示标记图标。`zIndex`属性用于设置标记在同一个位置时的叠放顺序,保证最新的轨迹点可以在前面显示。 以上是通过JSP从数据库调用经纬度,在百度地图上显示路径轨迹的完整流程。可以根据具体的业务需求,进行相应的修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值