我是android地图视图的新手。我必须根据特定区域的降雨量在android地图视图中显示不同的颜色。请帮我弄清楚这个功能。
非常感谢您的帮助。
答案 0 :(得分:2)
确保使用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点以及它们在屏幕上的位置绘制颜色,并将其绘制在地图上方。这是最难的工作:)
答案 1 :(得分:2)
在旧API中,您也可以在地图上显示颜色,方法是制作自定义形状的叠加层,如圆形,矩形或任何其他形状。
只需覆盖draw()
课程中的Overlay
即可。
拥有新的API总是很好,但现在可以使用任何人。
This page尝试解释如何构建具有自定义形状和颜色的叠加层。
希望这会有所帮助。