我试图在MapFragment上绘制一个简单的多边形,但无法让它渲染。我正在使用developer docs中的代码示例,但无济于事。我是新手,所以我必须错过一些非常明显的东西,但我无法弄清楚它是什么。我没有遇到任何运行时错误。
以下是我主要活动的相关内容。
public class UserLocation<MainActivity> extends Activity {
blah blah...
//Set up initial map fragment view
map = ((MapFragment)getFragmentManager().findFragmentById(R.id.map)).getMap();
LatLng startPoint = new LatLng(-30.89,24.26);
//See use of CameraPosition.Builder here which gives a cool perspective view on the map. See use of map.animateCamera using this method too;
CameraPosition cameraPosition = new CameraPosition.Builder().target(startPoint).tilt(60).zoom(6).bearing(0).
build();
map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
//try add polgyon
List<LatLng> points = Arrays.asList(new LatLng(18.39416, -33.97885),
new LatLng(18.45116, -33.97885),
new LatLng(18.45116, -33.91077),
new LatLng(18.39416, -33.91077),
new LatLng(18.39416, -33.97885));
PolygonOptions options = new PolygonOptions();
options.addAll(points);
options.fillColor(Color.RED);
map.addPolygon(options);
xml文件
<TextView android:id="@+id/header" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/hello_world" /> <fragment android:id="@+id/map" class="com.google.android.gms.maps.MapFragment" android:layout_width="match_parent" android:layout_height="match_parent" /> <ImageButton android:id="@+id/mainNavigationButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom" android:layout_marginLeft="120dp" android:onClick="OnClick_launch_mainNavigation" android:alpha="0.8" android:src="@drawable/copbutton"/> <Spinner android:id="@+id/spinner1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="17dp" android:entries="@array/crime_arrays" android:prompt="@string/crime_prompt" /> </FrameLayout>
文件表明这是一个简单的过程,但我很难过。提前感谢任何建议。
答案 0 :(得分:0)
您的代码应该有效。可能是,您意外地切换经度/纬度,因为您正在绘制多边形(24.26,-30.89)但将相机移动到(-30.89,24.26)。
要确保您在正确的区域,请创建一个调用
的按钮 private function onButtonClick(){
LatLng startPoint = new LatLng(24.26,-30.89);
CameraPosition cameraPosition = new CameraPosition.Builder().target(startPoint).tilt(60).zoom(6).bearing(0).
build();
map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
}