我是 android 地图视图的新手。我必须根据特定区域的降雨量在 android 地图视图中显示不同的颜色。请帮我弄清楚这个功能。
您的帮助将不胜感激。
确保使用 Map API v2 而不是旧的 API(并非所有人都知道它已经过时了)。当用户通过将 onCameraChangeListener 设置为您的 GoogleMap 滚动时,您始终可以获取更新的可见区域。
googleMap.setOnCameraChangeListener(new GoogleMap.OnCameraChangeListener()
{
@Override
public void onCameraChange(CameraPosition arg0)
{
VisibleRegion r = googleMap.getProjection().getVisibleRegion();
}
});
使您的布局类似于
<fragment
class="com.google.android.gms.maps.SupportMapFragment"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:id="@+id/map_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
map:cameraZoom="14"/>
<yout.package.view.ColorOverlay
android:id="@+id/overlay"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00000000"/>
添加一个全屏地图片段和一个带有透明背景的叠加层,它将绘制您的颜色区域。这个想法是制作自定义视图,它将根据 VisibleRegion 的东北和西南 LatLng 点及其在屏幕上的位置绘制颜色,并使其绘制在地图上方。这是最辛苦的工作:)
在旧的 API 中,您也可以在地图上显示颜色,方法是覆盖您的自定义形状,如圆形、矩形或任何形状。
只需draw()
在您的Overlay
班级中覆盖即可。
拥有新的 API 总是好的,但现在可以使用任何人。
本页试图解释如何构建具有自定义形状和颜色的叠加层。
希望这会有所帮助。