我想在地图视图上绘制一个多边形。就像,我有n个GeoPoints,然后使用那些地理位置,我想画一个有n个顶点的多边形。
谢谢!
更新
感谢freza,现在我知道如何绘制叠加层。
在叠加层下有另一个函数:public boolean onTap(GeoPoint p, MapView mapView)
。现在我想要的是当用户点击任何叠加层时,我想要更改叠加层的图像。
例如,最初我画了一个简单的绿色圆圈来显示叠加层。所以现在当用户点击绿色叠加时:我想将颜色更改为红色,或者如果是绿色圆圈,则绘制新的位图。我怎么能这样做?
答案 0 :(得分:0)
这可以帮到你。 代码如下:
private void changeMarkers(int noteIndex) {
for (int i = 0; i < noteOverlays.size(); i++) {
if (i == noteIndex || noteIndex == -1) {
Drawable selectedMarker = getResources().getDrawable(
R.drawable.note_in_map);
int selectedMarkerWidth = selectedMarker.getIntrinsicWidth();
int selectedMarkerHeight = selectedMarker.getIntrinsicHeight();
selectedMarker.setBounds(-selectedMarkerWidth / 2,
-selectedMarkerHeight, selectedMarkerWidth / 2, 0); noteOverlays.getItem(i).setMarker(selectedMarker);
} else {
Drawable unselectedMarker = getResources().getDrawable(
R.drawable.note_in_map_notselected);
int nonSelectedMarkerWidth = unselectedMarker
.getIntrinsicWidth();
int nonSelectedMarkerHeight = unselectedMarker
.getIntrinsicHeight();
unselectedMarker
.setBounds(-nonSelectedMarkerWidth / 2,
-nonSelectedMarkerHeight,
nonSelectedMarkerWidth / 2, 0);
noteOverlays.getItem(i).setMarker(unselectedMarker);
}
}
mapView.invalidate();
}