[英]How to change the google maps marker color to grey in android
我已经知道的事情
object.icon(BitmapDescriptorFactory.defaultMarker(<color value>));
我需要什么? 灰色的这个特定浮点值
我的研究: 色轮灰色不包含在 HUE 颜色中。 它在音调中。 那么如何在 Tones 中访问颜色值。
没有灰色可用作色调。 所以一种方法是抓取一个标记 png 并修改为灰色(外部),就像在这个快照中一样(这是所有的色调加上顶部的特殊灰色)。 从资源创建 BitmapDescriptor:
(对于灰色 png,将透明颜色设置为白色。)
相关代码(对于答案不是必需的):
public void createMarkers() {
LatLng pos = new LatLng(38.547279, -121.46101);
for (int i = 0; i < 360; i++) {
mMap.addMarker(new MarkerOptions().icon(BitmapDescriptorFactory.defaultMarker(i)).position(pos));
double lat = pos.latitude;
double lng = pos.longitude;
lng += 0.01;
if ((i + 1) % 40 == 0) {
lng = -121.46101;
lat = pos.latitude + 0.01;
}
pos = new LatLng(lat,lng);
}
double lat = pos.latitude + 0.01;
pos = new LatLng(lat, pos.longitude);
BitmapDescriptor bd = BitmapDescriptorFactory.fromResource(R.drawable.ic_map_marker);
mMap.addMarker(new MarkerOptions().icon(bd).position(pos));
}
对于我们这些真正想要使用现有色调颜色的人,您可以执行以下操作:
fun MapFragment.addGreenMarker(latLng: LatLng) {
getMap()?.apply {
addMarker(
MarkerOptions()
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_GREEN))
.position(latLng)
.draggable(true)
)
}
}
当您输入R.drawable.gr... 时- 它显示没有 .png 扩展名。
运行您的应用程序。 基本测试表明,图标大小在平板电脑和手机上都可以正常工作,无需担心不同的分辨率。 我将进行更多测试,以确保在更高分辨率下仍然如此。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.