AFAIK,我可以将此蓝色圆圈更改为自定义drawable的唯一方法是使用styles.xml
,我无法以编程方式更改样式:
<style name="CustomLocationLayer" parent="LocationLayer">
<item name="backgroundDrawable">@drawable/CUSTOM_DRAWABLE</item>
<item name="foregroundDrawable">@drawable/CUSTOM_DRAWABLE</item>
</style>
locationPlugin.applyStyle(R.style.CustomLocationLayer)
但是我需要在运行时生成这个CUSTOM_DRAWABLE
,我找不到任何方法/设置器来用于在运行时更改它。怎么做到这一点?
答案 0 :(得分:0)
我发现了什么?没有解决方法,我们不能这样做。
唯一的方法是使用styles.xml
<style name="EmptyLocationLayer" parent="LocationLayer">
<item name="foregroundDrawable">@drawable/ic_location_indicator_workaround</item>
<item name="backgroundDrawable">@drawable/ic_location_indicator_workaround</item>
<item name="accuracyColor">#00000000</item>
</style>
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
android:width="14dp"
android:height="14dp"
android:viewportHeight="14.0"
android:viewportWidth="14.0">
<path
android:fillColor="#00000000"
android:pathData="M7,7m-7,0a7,7 0,1 1,14 0a7,7 0,1 1,-14 0"/>
</vector>
初始化LocationPlugin
后,我们需要应用此样式:
locationPlugin?.applyStyle(R.style.EmptyLocationLayer)
在致电之前
map.animateCamera(CameraUpdateFactory.newLatLngZoom(LatLng(location.latitude, location.longitude), DEFAULT_ZOOM))
我正在将自定义标记添加到地图map.addMarker(customMarker)