【发布时间】:2012-12-11 09:07:56
【问题描述】:
我有以下代码:
ArrayList<OverlayItem> items = new ArrayList<OverlayItem>();
GeoPoint geoPoint = new GeoPoint(data.getPosition().longitude, data.getPosition().latitude, data.getPosition().altitude);
OverlayItem overlayItem = new OverlayItem(placeName, description, geoPoint);
overlayItem.setMarker(this.getResources().getDrawable(R.drawable.ic_launcher));
items.add(overlayItem);
overlay = new ItemizedOverlayWithFocus<OverlayItem>(this.getApplicationContext(), items,
new ItemizedIconOverlay.OnItemGestureListener<OverlayItem>() {
@Override
public boolean onItemSingleTapUp(final int index, final OverlayItem item) {
return true; // We 'handled' this event.
}
@Override
public boolean onItemLongPress(final int index, final OverlayItem item) {
return false;
}
});
mapView.getOverlays().set(0,overlay);
mapView.invalidate();
我想用画布创建自己的标记,目前我使用的是静态图像,但我想用圆圈、线条等创建自己的表单 我认为这是可能的,但我找不到如何让它发挥作用。
任何帮助将不胜感激
【问题讨论】:
-
我正在与完全相同的问题作斗争(即绘制自定义汽车绘图作为 OSMDroid 标记)。
setMarker()方法不起作用,我目前正在实施您的解决方案。它对许多汽车有效吗?自从您在 2012 年提出这个问题以来,您是否提出了一些更好的解决方案? -
它使用了 20 个标记,但就像您注意到的那样,这是很久以前的事了。但据我记得,它非常顺利。
-
谢谢。您是否以任何特定方式处理位图调整大小和各种屏幕尺寸?
-
地图缩放可调,但标记保持相同大小,但能够根据它们的方向旋转。关于屏幕尺寸,我只将此应用程序开发为 7 英寸平板电脑。
标签: android osmdroid overlayitem