OSMBonuspack自定义KML标记显示错误的颜色

时间:2016-06-13 19:51:15

标签: android kml osmdroid

我一直在尝试更改KML的样式,因此KmlPoint将使用我选择的自定义标记来表示。

以下是我正在使用的标记:

enter image description here

我成功地使用相应的标记显示了想要的点,但它们看起来像是可能应用了颜色过滤器,或者位图被简单地损坏了,我不知道为什么。 Screenshot

这是我的代码:

KmlDocument dryKmlDocument = new KmlDocument();
    File f2 = new File(appPath + "/dry_hydrant.kml");
    dryKmlDocument.parseKMLFile(f2);
    Bitmap blueBitmap = ((BitmapDrawable)ResourcesCompat.getDrawable(getResources(), R.drawable.blue, null)).getBitmap();
    Style dryStyle = new Style(blueBitmap, 0x901010AA, 1.0f, 0x20AA1010);
    ZoneStyler dryZoneStyler = new ZoneStyler(dryStyle, dryKmlDocument, osmView);
    dryKmlOverlay = (FolderOverlay)dryKmlDocument.mKmlRoot.buildOverlay(osmView, null, dryZoneStyler, dryKmlDocument);

    KmlDocument fireKmlDocument = new KmlDocument();
    File f3 = new File(appPath + "/fire_hydrant.kml");
    fireKmlDocument.parseKMLFile(f3);
    Bitmap redBitmap = ((BitmapDrawable)ResourcesCompat.getDrawable(getResources(), R.drawable.red, null)).getBitmap();
    Style fireStyle = new Style(redBitmap, 0x00000000, 1.0f, 0x00000000);
    ZoneStyler fireZoneStyler = new ZoneStyler(fireStyle, fireKmlDocument, osmView);
    fireKmlOverlay = (FolderOverlay)fireKmlDocument.mKmlRoot.buildOverlay(osmView, null, fireZoneStyler, fireKmlDocument);

有人能指出我可能造成这种情况的原因吗?

编辑:Imgur不想显示我的bmp标记图像,所以我在Windows资源管理器中截取了截图。

1 个答案:

答案 0 :(得分:0)

使用PNG格式,并确保角落完全透明(使用Windows Paint无法做到这一点,需要像IcoFX,Gimp,PhotoShop等......)。