[英]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.