Я сделал это, принимая ссылку из телеграмм приложения Telegram App
Добавить маркер в Google Map
GoogleMap mMap;
Marker marker;
LatLng latLng = new LatLng(Double.parseDouble(lat), Double.parseDouble(long));
MarkerOptions options = new MarkerOptions().position(latLng);
Bitmap bitmap = createUserBitmap();
if(bitmap!=null){
options.title("Ketan Ramani");
options.icon(BitmapDescriptorFactory.fromBitmap(bitmap));
options.anchor(0.5f, 0.907f);
marker = mMap.addMarker(options);
mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));
mMap.animateCamera(CameraUpdateFactory.zoomTo(15), 2000, null);
}
Функция для создания растрового изображения
private Bitmap createUserBitmap() {
Bitmap result = null;
try {
result = Bitmap.createBitmap(dp(62), dp(76), Bitmap.Config.ARGB_8888);
result.eraseColor(Color.TRANSPARENT);
Canvas canvas = new Canvas(result);
Drawable drawable = getResources().getDrawable(R.drawable.livepin);
drawable.setBounds(0, 0, dp(62), dp(76));
drawable.draw(canvas);
Paint roundPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
RectF bitmapRect = new RectF();
canvas.save();
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.avatar);
//Bitmap bitmap = BitmapFactory.decodeFile(path.toString()); /*generate bitmap here if your image comes from any url*/
if (bitmap != null) {
BitmapShader shader = new BitmapShader(bitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
Matrix matrix = new Matrix();
float scale = dp(52)/(float) bitmap.getWidth();
matrix.postTranslate(dp(5), dp(5));
matrix.postScale(scale, scale);
roundPaint.setShader(shader);
shader.setLocalMatrix(matrix);
bitmapRect.set(dp(5), dp(5), dp(52 + 5), dp(52 + 5));
canvas.drawRoundRect(bitmapRect, dp(26), dp(26), roundPaint);
}
canvas.restore();
try {
canvas.setBitmap(null);
} catch (Exception e) {}
} catch (Throwable t) {
t.printStackTrace();
}
return result;
}
Вычислить дп согласно к плотности устройства
public int dp(float value) {
if (value == 0) {
return 0;
}
return (int) Math.ceil(getResources().getDisplayMetrics().density * value);
}
livepin.png
avatar.png
уже видели у [это] (https://developers.google.com/maps/documentation/android-api/marker?hl= ru) Есть свойство значка объекта Marker –
Я видел его, но это не помогло –