OSMBonuspack 自定义 KML 标记以错误的颜色出现
OSMBonuspack Custom KML marker appearing in wrong color
我一直在尝试更改 KML 的样式,以便使用我选择的自定义标记来表示 KmlPoint。
以下是我使用的标记:
我成功地用相应的标记显示了想要的点,但它们看起来像是对它们应用了滤色器,或者位图只是损坏了,我不知道为什么。
这是我的代码:
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 资源管理器中截图了。
使用 PNG 格式,并确保边角完全透明(使用 Windows 画图无法做到这一点,您需要像 IcoFX、Gimp、PhotoShop 等工具)。
我一直在尝试更改 KML 的样式,以便使用我选择的自定义标记来表示 KmlPoint。
以下是我使用的标记:
我成功地用相应的标记显示了想要的点,但它们看起来像是对它们应用了滤色器,或者位图只是损坏了,我不知道为什么。
这是我的代码:
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 资源管理器中截图了。
使用 PNG 格式,并确保边角完全透明(使用 Windows 画图无法做到这一点,您需要像 IcoFX、Gimp、PhotoShop 等工具)。