高德地图-绘制个人历史位置路线

本文介绍如何使用高德地图API结合SQLite数据库,存储并显示个人的历史位置路线。通过将经纬度数据保存到数据库,然后读取并绘制在地图上。
摘要由CSDN通过智能技术生成

思路:将当前个人位置(经纬度信息)存储到手机数据库(SQLITE)中,然后遍历数据库中的所有位置信息,并绘制到MAP图层上。


1.数据库帮助类:

package com.example.touchpoint;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

public class MysqliteHelper extends SQLiteOpenHelper{


	private static final String DATABASE_NAME = "my.db";
	private static final int DATABASE_VERSION = 1;
	
	public static final String COLUMN_ID = "_id";	//必须的
	public static final String COLUMN_LATITUDE = "latitude";
	public static final String COLUMN_LONGITUDE = "longitude";
	public static final String COLUMN_UPLOAD_TIME = "upload_time";	//暂时没用
	
	
	public static final String[] allColumns = {COLUMN_ID,COLUMN_LATITUDE,COLUMN_LONGITUDE};
	
	private static final String CREATE_TABLE = "create table if not exists routlist"
											 + "("
											 + COLUMN_ID + " integer primary key autoincrement, "
											 + COLUMN_LATITUDE + " REAL not null, "
											 + COLUMN_LONGITUDE + " REAL not null "
											 + ");";
	
	public MysqliteHelper(Context context) {
		super(context, DATABASE_NAME, null, DATABASE_VERSION);
	}

	@Override
	public void onCreate(SQLiteDatabase db) {
		Log.d("CREATE_TABLE",CREATE_TABLE);
		db.execSQL(CREATE_TABLE);
	}

	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		db.execSQL("drop table " + CREATE_TABLE);
		onCreate(db);
	}
}

2.数据库DAO

package com.example.touchpoint;

import java.util.ArrayList;
import java.util.List;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;

public class SqliteDAO {

	private SQLiteDatabase db;
	private MysqliteHelper hel
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
要在高德地图绘制路线图,可以使用高德地图的Web API和Python的第三方库requests。下面是一个示例代码,演示如何使用高德地图的Web API和requests库来获取路线数据并在地图上绘制: ```python import requests import folium # 高德地图Web API的URL url = 'https://restapi.amap.com/v3/direction/driving' # 高德地图Web API的参数 params = { 'key': 'your_amap_api_key', # 替换为你自己的高德地图API密钥 'origin': '116.481028,39.989643', # 起点经纬度,格式为"经度,纬度" 'destination': '116.434446,39.90816', # 终点经纬度,格式为"经度,纬度" } # 发送GET请求获取路线数据 response = requests.get(url, params=params) data = response.json() # 解析路线数据 route = data['route']['paths'][0]['steps'] # 创建地图对象 m = folium.Map(location=[39.989643, 116.481028], zoom_start=13) # 添加起点和终点标记 start_point = [39.989643, 116.481028] end_point = [39.90816, 116.434446] folium.Marker(location=start_point, icon=folium.Icon(color='green')).add_to(m) folium.Marker(location=end_point, icon=folium.Icon(color='red')).add_to(m) # 添加路线 for step in route: polyline = step['polyline'] coordinates = polyline.split(';') points = [[float(coord.split(',')[1]), float(coord.split(',')[0])] for coord in coordinates] folium.PolyLine(locations=points, color='blue').add_to(m) # 保存地图为HTML文件 m.save('route_map.html') ``` 在这个示例代码中,我们首先使用requests库发送GET请求来获取路线数据。需要将`your_amap_api_key`替换为你自己的高德地图API密钥。然后,我们解析路线数据并提取出每个步骤的坐标点。接下来,我们使用folium库创建地图对象,并添加起点和终点的标记,以及每个步骤的路线。最后,我们使用`m.save`将地图保存为HTML文件。 运行该代码后,将生成一个名为`route_map.html`的HTML文件,其中包含了在高德地图绘制好的路线图。您可以在浏览器中打开该文件,查看绘制好的路线图。 请根据您的实际需求修改起点和终点的经纬度以及其他参数,以生成对应的路线图。希望对您有帮助!
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值