我正在开发一个应用程序,我想在地图上从我的数据库中绘制纬度和经度。在我的数据库架构中,我有三列:
Name | Latitude | Longitude
我可以从 SQLite 中检索数据ArrayList
,但我面临的问题是我应该如何在 Google 地图上可视化这些值以及存储在数据库中的位置名称?另外,如何绘制从起始地理点到结束地理点的路径。
我正在开发一个应用程序,我想在地图上从我的数据库中绘制纬度和经度。在我的数据库架构中,我有三列:
Name | Latitude | Longitude
我可以从 SQLite 中检索数据ArrayList
,但我面临的问题是我应该如何在 Google 地图上可视化这些值以及存储在数据库中的位置名称?另外,如何绘制从起始地理点到结束地理点的路径。
我通过创建逐项覆盖类使我的代码正常工作
package com.rahul.besttracker;
import java.util.ArrayList;
import android.app.AlertDialog;
import android.content.Context;
import android.graphics.drawable.Drawable;
import com.google.android.maps.ItemizedOverlay;
import com.google.android.maps.OverlayItem;
public class HelloItemizedOverlay extends ItemizedOverlay {
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
Context mContext;
public HelloItemizedOverlay(Drawable defaultMarker) {
super(boundCenterBottom(defaultMarker));
// TODO Auto-generated constructor stub
}
public HelloItemizedOverlay(Drawable defaultMarker, Context context) {
super(boundCenterBottom(defaultMarker));
mContext = context;
}
@Override
protected OverlayItem createItem(int i) {
return mOverlays.get(i);
}
@Override
public int size() {
return mOverlays.size();
}
public void addOverlay(OverlayItem overlay) {
mOverlays.add(overlay);
populate();
}
@Override
protected boolean onTap(int index) {
OverlayItem item = mOverlays.get(index);
AlertDialog.Builder dialog = new AlertDialog.Builder(mContext);
dialog.setTitle(item.getTitle());
dialog.setMessage(item.getSnippet());
dialog.show();
return true;
}
}
我在我的主类中创建了一个这样的实例,每次我需要添加一个项目到覆盖时,我都调用了添加覆盖函数。最后我在地图上绘制了叠加层