我正在使用谷歌地图v2的代码在加载地图v2上绘制多边形。它在5秒内加载300多个多边形,但它显示黑屏直到5秒,并且在屏幕上不显示任何内容。如何显示地图或者我应该显示loading .. msg直到它显示地图??我真的很感激任何帮助。我尝试了很多方法,但仍然在主线程上看到黑屏作为其加载多边形。谢谢提前。
LatLng allLatLng= new LatLng((lat1),(long1));
all.add(allLatLng);
polygon = googleMap.addPolygon(new PolygonOptions()
.addAll(all)
.fillColor(Color.Yellow)
.strokeColor(Color.blue)
);
答案 0 :(得分:0)
附带评论的示例
//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);
答案 1 :(得分:0)
使用此选项可防止黑色背景
<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;
}
}