Set marker icon on Google Maps v2 Android from URL

扶醉桌前 提交于 2019-12-06 15:39:42

Hi use a librariy that help you to view images from URL. visit https://github.com/nostra13/Android-Universal-Image-Loader for Android-Universal-Image-Loader

also you can visit to know for downloading the image

http://brainflush.wordpress.com/2009/11/23/droid-fu-part-2-webimageview-and-webgalleryadapter/

and after that

for the Custom Marker Icon, you can use an icon to show as a marker. load the icon from any kind of supported sources.

fromAsset(String assetName) – Loading from assets folder

fromBitmap (Bitmap image) – Loading bitmap image

fromFile (String path) – Loading from file

fromResource (int resourceId) – Loading from drawable resource

try as follows

// latitude and longitude
double latitude = 17.385044;
double longitude = 78.486671;

// create marker
MarkerOptions marker = new MarkerOptions().position(new LatLng(latitude, longitude)).title("Hello Maps");

// Changing marker icon
// set yours icon here
marker.icon(BitmapDescriptorFactory.fromResource(R.drawable.my_marker_icon)));

// adding marker
googleMap.addMarker(marker);

You can load url image to a GoogleMap mapMarker using following code. First set other properties like title, snippet, position etc....

  mapMarker= mGoogleMap.addMarker(new MarkerOptions()
                    .title(Integer.toString(total_steps))
                    .snippet("Steps")
                    .position(new LatLng(current_lat,current_longi)));
            mapMarker.setTag("current_position");
            mapMarker.showInfoWindow();
            loadMarkerIcon(mapMarker);

After use a custom method to load a image for icon property. You can add Glide gradle link to project.

private void loadMarkerIcon(final Marker marker) {
        String burlImg = "Url_imagePath;
        Glide.with(this).load(burlImg)
                .asBitmap().fitCenter().into(new SimpleTarget<Bitmap>() {
            @Override
            public void onResourceReady(Bitmap bitmap, GlideAnimation<? super Bitmap> glideAnimation) {

                if(bitmap!=null){
                  //  Bitmap circularBitmap = getRoundedCornerBitmap(bitmap, 150);
                    Bitmap mBitmap = getCircularBitmap(bitmap);
                    mBitmap = addBorderToCircularBitmap(mBitmap, 2, Color.WHITE,squareBitmapWidth);
                    BitmapDescriptor icon = BitmapDescriptorFactory.fromBitmap(mBitmap);
                    marker.setIcon(icon);
                }

            }
        });

    }

there are a lot of libraries that help you view images from URL like: URLImageViewhelper unfortunately, you can't load images from URL without AsyncTask however all the libraries that help you view images from URL are using Asynctask so only you have to do is call the function.

the implementation of the library class are available within the github page.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!