如何在Android应用中添加自定义.png文件作为Google地图标记

yam*_*ams 0 android google-maps google-maps-markers

我有一个活动,显示使用谷歌地图的Android应用程序的地图,我想用我创建的ping图像替换我正在使用的黄色标记,名为fillingstation.png.我将如何做到这一点,因为我对Android App Development还不熟悉.

MapViewActivity.java

 private void showFuelStops(String location) throws IOException{
       Geocoder geocoder = new Geocoder(this, Locale.getDefault());  
       List<Address> addresses;

       addresses = geocoder.getFromLocationName(location, 1);
       if(addresses.size() > 0) {
          BitmapDescriptor subwayBitmapDescriptor = BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_YELLOW);
          double latitude= addresses.get(0).getLatitude();
          double longitude= addresses.get(0).getLongitude();
          LatLng subLoc = new LatLng(latitude, longitude);
          Marker fuelMarker = map.addMarker(new MarkerOptions().position(subLoc).icon(subwayBitmapDescriptor).title("Subway, " + location));

       }        
 }
Run Code Online (Sandbox Code Playgroud)

Com*_*are 7

如果PNG文件是资源(即,它是res/drawable-NNNN/用于各种密度),请使用fromResource()而不是defaultMarker()on BitmapDescriptorFactory.

如果PNG文件是资产(即,它assets/在您的项目中),请使用fromAsset().

如果PNG文件是设备内部存储器上的文件,请使用fromFile().

  • 如果你在drawable-mdpi(和其他人)中有ping.png:BitmapDescriptorFactory.fromResource(R.drawable.ping) (2认同)