取数据也可以用JSON 不管JSON还是AJAX 都是局部的刷新页面
如果是要向GPS那样实时的追踪 那么取数据应该去最新的 也就是ID号最大的,取出来在地图上标记就行,这个时间间隔不宜过大 最小也要10秒左右也可以通过开始时间和结束时间查询数据库取出来画线 即为路线的查询 如果没有GPS设备 可以用软件做个模拟器
package com.XXXX.gps.manager
import java.sql.Connection
import java.sql.DriverManager
import java.sql.PreparedStatement
import java.sql.ResultSet
import java.sql.Statement
import javax.naming.Context
import javax.naming.InitialContext
import javax.sql.DataSource
public class DbConnectionManager {
private static final String DRIVER_NAME = "org.postgresql.Driver"
private static final String USER_NAME = "postgres"
private static final String PASSWORD = "postgres"
private static final String URL = "jdbc:postgresql://localhost:5432/gps"
public static Connection getConnection() {
Connection conn = null
try {
Context context = new InitialContext()
//实例系统上下文对象
DataSource dataSource = (DataSource) context.lookup("java:/comp/env/jdbc/postgres")
//从系统上下文中通过JNDI方式获取数据连接池资源
conn = dataSource.getConnection()
//从数据连接池中取出连接
} catch (Exception e) {
// TODO: handle exception
try {
conn = getConnectionDirectly()
} catch (Exception e1) {
}
System.err.println("[" + DbConnectionManager.class.getName()
+ "] An Error Occurred:" + e.getMessage())
}
return conn
}
private static Connection getConnectionDirectly() throws Exception {
Connection conn = null
Class.forName(DRIVER_NAME)
conn = DriverManager.getConnection(URL, USER_NAME, PASSWORD)
return conn
}
public static void closeConnection(Connection conn, Statement stmt,
ResultSet rs) {
try {
if (rs != null) {
rs.close()
}
if (stmt != null) {
stmt.close()
}
if (conn != null) {
conn.close()
}
} catch (Exception e) {
}
}
public static boolean isConnectionOK() {
boolean result = false
Connection conn = null
PreparedStatement pstmt = null
ResultSet rs = null
String sql = "SELECT * FROM m_user"
try {
conn = DbConnectionManager.getConnection()
pstmt = conn.prepareStatement(sql)
rs = pstmt.executeQuery()
if (rs.next()) {
}
result = true
} catch (Exception e) {
e.printStackTrace()
} finally {
DbConnectionManager.closeConnection(conn, pstmt, rs)
}
return result
}
}
数据库的链接是很简单的 我用的数据库是postgresQL 别的我就不能给你了 因为是公司做过的项目 涉及到所谓的商业机密 虽然不会有什么大事 但不想找麻烦 是吧 作为软件开发者你可以理解的
把你从数据库取出来的数据按顺序放到一个数组里面,然后画线的时候按照这个数据画出 来就行了。如果要实现图标一步一步移动的动作,就要设计图标的方向,每变化一次坐标重新计算图标方向,就好比车辆在运行,具体实现就是将图标 标记为一个marker,每更换一次坐标就清理一次,中间可以设置超时间达到更好的视觉效果。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)