osmdroid地图视图IconOverlay - 是否有一种方法可以改变图标的大小?

4
在我的应用中,我有一张由GoogleMaps提供支持的地图,但有时需要离线使用地图,所以我决定添加对osmdroid的支持。通过对之前代码的微调,我成功地让它运行了所有GoogleMaps拥有的功能。
现在遇到的问题是,在GoogleMaps的mapView中,图标显示如下图: GoogleMaps icon 但在OSM的mapView中,图标非常大而且模糊: OSM icon 我试图减小图像(*.png对象)的大小,看看是否是问题所在,但图标仍然很大且模糊。我猜测osmdroid出于某种原因将图标缩放为预定大小,是否有一种方法可以改变它?
我已经搜索了几个小时,还没有找到有用的东西,所以我决定在这里尝试一下。
谢谢 :)
1个回答

1

我的一个朋友偶然间找到了答案,问题331

这个问题已经在某个版本中得到解决,以下是我采取的步骤:

获取:

然后将它们添加到您的项目中,然后扩展/使用这些文件,而不是osmdroid库文件。通过这种方式,我成功地使图标看起来像Google Maps中的图标(除了阴影,但那不是我真正想要的东西)。

fixede OSM icon


抱歉,您能解释一下在哪里/如何添加这两个文件吗?我正在像这个问题中那样添加图标:https://dev59.com/Z2PVa4cB1Zd3GeqP767B - AlvaroSantisteban
将这两个文件添加到您的项目中(例如:复制/粘贴到com.example.app.osm)。 然后,假设您有类MyItemizedOverlay(如您链接的问题中所示),使该类扩展刚刚添加到您的项目中的ItemizedOverlay。如果您已经从库中导入了一个,请将import org.osmdroid.views.overlay.ItemizedOverlay;更改为import com.example.app.osm.ItemizedOverlay; - Marco Batista
不好意思,我应该说我正在像那个问题的答案一样添加图标。第二种方法对我来说是正确的,但现在我正在使用bonuspack中的ItemizedOverlayWithBubble。 我的代码如下: ExtendedOverlayItem overlayItem = new ExtendedOverlayItem(PARAMETERS); Drawable icon = new BitmapDrawable(getResources(), anEntity.tagsList.get(0).icon); icon.setBounds(PARAMETERS); overlayItem.setMarker(icon); - AlvaroSantisteban
抱歉,我从未使用过奖励包,但我猜原则是相同的。找到与我的答案中的文件相当的文件,并进行必要的更改以使其正常工作(参考我链接的文件的提交更改)。 - Marco Batista

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接