加载多边形时,包含谷歌地图v2的活动屏幕为黑色



我使用谷歌地图v2中的代码在加载地图v2时绘制多边形。它在5秒内加载300多个多边形,但在5秒内显示黑屏,并且在屏幕上不显示任何内容。我该如何显示地图,还是应该显示加载。。msg,直到它显示地图??我真的很感激任何帮助。我尝试了很多方法,但仍然看到黑屏是主线程上的加载多边形。提前感谢。

  LatLng allLatLng= new LatLng((lat1),(long1));
   all.add(allLatLng);
polygon = googleMap.addPolygon(new PolygonOptions()
                           .addAll(all)
                           .fillColor(Color.Yellow)
                           .strokeColor(Color.blue)
                       );

注释的示例

//in onCreate
String json_string = getJsonStringStuff();
new AsyncTask<String, Void, List<List<LatLng>>>() {
    @Override protected List<List<LatLng>> doInBackground(String... params) {
            String json = params[0];
            List<List<LatLng>> mLatLngList = new ArrayList<ArrayList<LatLng>>();
            // Parse the json into the list
            return mLatLngList;
    }
    @Override protected void onPostExecute(List<List<LatLng>> result) {
        drawPolygonsToMap(result);
    }
}.execute(json_string);

使用此功能可防止黑背景

<fragment
                    android:id="@+id/location_map_fragment"
                    android:name="com.app.appname.TransparentSupportMapFragment"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:background="@color/white" />
/**
 * 
 * To prevent black background of map in ScrollView
 *
 */
public class TransparentSupportMapFragment extends SupportMapFragment {
    public TransparentSupportMapFragment() {
    }
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup view, Bundle savedInstance) {
        View layout = super.onCreateView(inflater, view, savedInstance);
        FrameLayout frameLayout = new FrameLayout(getActivity());
        frameLayout.setBackgroundColor(getResources().getColor(android.R.color.transparent));
        ((ViewGroup) layout).addView(frameLayout,
            new ViewGroup.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
        return layout;
    }

    public static TransparentSupportMapFragment newInstance(String abc) {
        TransparentSupportMapFragment tsf = new TransparentSupportMapFragment();
        return tsf;
    }
}

最新更新