Android Google Maps API v2 - AS

时间:2015-06-17 02:26:42

标签: android google-maps

我正在尝试使用.png文件自定义标记。它在drawable下复制为gsw.png。

代码(在MapActivity.java中)显示图标的缩略图,当我将它放在代码中作为R.drawable.gsw但是,我得到错误,"错误找不到符号变量gsw" 。调用setUpMap()来设置包含所有标记的地图。

我看到这已经通过清理,重新启动eclipse / Android Studio等已经解决了。它对我不起作用。有人可以帮忙吗?

MapActivity.java中的代码

private void setUpMap() {

        mMap.addMarker(new MarkerOptions().position(new LatLng(0, 0)).title("Marker"));
        mMap.addMarker(new MarkerOptions().position(new LatLng(37.497836, -121.9216775)).title("Title"));


         mMap.addMarker(new MarkerOptions()
                        .position(new LatLng(18.500486, 73.866899))
                        .title("Pune")
                        .icon(BitmapDescriptorFactory.fromResource(R.drawable.gsw)));


    }

3 个答案:

答案 0 :(得分:1)

你已经编写了正确的代码。如果您正在使用android studio,请在项目的“YourProjectName \ app \ src \ main \ res”文件夹下创建4个文件夹,其名称如下所示(最好在项目路径上手动操作,而不是在控制台内):

“可拉伸-LDPI”

“可拉伸-MDPI”

“可拉伸-HDPI”

“可拉伸-xhdpi”

“可拉伸-xxhdpi”

现在将您的自定义标记图标(仅限.png)复制粘贴到每个文件夹中(如果根据分辨率为每个文件夹设置不同的尺寸,则效果会更好)。保存并运行你的项目,它肯定有效。

如果您想更多地自定义标记,可以浏览这些链接link1link 2

答案 1 :(得分:1)

Android不会以这种方式加载PNG - 不要问我为什么。一种选择是将PNG保存为BMP,但是您可能不希望这样做,因为您担心与其他应用程序的交叉兼容性。无论你的原因是什么,我发现这段代码非常有用:

Bitmap img = BitmapFactory.decodeResource(getResources(),R.drawable.your_drawable);
BitmapDescriptor bitmapDescriptor = BitmapDescriptorFactory.fromBitmap(img);
marker.icon(bitmapDescriptor);

答案 2 :(得分:-1)

我尝试使用重构选项重命名,但它不起作用。但是,在ztan's suggestion的鼓励下,我在Paint中打开了PNG文件并将其保存为位图。然后,我使用重构选项删除了drawable中的PNG,并复制了新的BMP。它现在工作正常。