我使用谷歌地图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;
}
}