-1
如何僅使用java連接Google地圖API中的標記,即不使用asp.net,php或任何其他語言?我只是一個初學者。我的地圖上有多個標記,顯示Google Android項目中的相應位置。如何在google map api中連接標記?
如何僅使用java連接Google地圖API中的標記,即不使用asp.net,php或任何其他語言?我只是一個初學者。我的地圖上有多個標記,顯示Google Android項目中的相應位置。如何在google map api中連接標記?
創建您自己的Overlay
類(而不是使用ItemizedOverlay
用於顯示標記)並實施draw()
方法來繪製線條。加入您使用顯示標記,像這樣的正常覆蓋在此之前覆蓋添加到您的MapView
:
mMapView.getOverlays().add(mPathOverlay);
mMapView.getOverlays().add(mMarkersOverlay);
一個PathOverlay
類可以是這樣的。職位將是您的標記的位置,已經轉換爲GeoPoint
s。
public class PathOverlay extends Overlay {
private List<GeoPoint> mPositions;
private Path mPath;
private Paint mPathPaint;
private Point mHelperPoint = new Point();
public PathOverlay(List<GeoPoint> positions) {
mPositions = positions;
mPath = new Path();
mPathPaint = new Paint();
mPathPaint.setColor(0xDDA4C639);
mPathPaint.setStyle(Paint.Style.STROKE);
// add more path styling here
}
@Override
public void draw(Canvas canvas, MapView mapView, boolean shadow) {
if (shadow) {
return; // path has no shadow
}
mPath.reset();
boolean start = true;
Point prev = new Point();
for (Position p : mPositions) {
mapView.getProjection().toPixels(p.geoPoint, mHelperPoint);
if (start) {
mPath.moveTo(mHelperPoint.x, mHelperPoint.y);
prev.set(mHelperPoint.x, mHelperPoint.y);
start = false;
} else {
int dx = prev.x - mHelperPoint.x;
int dy = prev.y - mHelperPoint.y;
mPath.lineTo(mHelperPoint.x, mHelperPoint.y);
prev.set(mHelperPoint.x, mHelperPoint.y);
}
}
canvas.drawPath(mPath, mPathPaint);
}
}