0

我正在尝试在 MapFragment 上绘制一个简单的多边形,但无法对其进行渲染。我正在使用开发人员文档中的代码示例,但无济于事。我是新手,所以我必须遗漏一些非常明显的东西,但我无法弄清楚它是什么。我没有收到任何运行时错误。

这是我主要活动的相关部分。

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>

文件表明这是一个简单的过程,但我很难过。提前感谢您的任何建议。

4

1 回答 1

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));
 } 
于 2013-07-11T13:52:58.077 回答