在GMaps Overlay Method中没有调用draw()方法

时间:2013-05-13 19:10:24

标签: java android google-maps google-maps-android-api-2

自定义覆盖类中的我的draw()方法从Google Maps扩展库中扩展LazyMarker并未被调用,我不知道为什么。这是我的方法:

@Override
public void draw(Canvas canvas, GoogleMap mapView, boolean shadow)
{
  Log.e("SegmentOverlay2", "Shadow Value:"+shadow);
  super.draw( canvas, mapView, shadow );
  if( !shadow )
  {
     Log.e("SegementOverlay2", "Projection VALUE SEGMENTOVERLAY2: "+mapView.getProjection());
     mProjectionProxy.setProjection( mapView.getProjection() ); 
     draw(canvas);
  }
}

我目前正在使用GMaps V2。我的代码出了什么问题?这是正确的方法吗?

1 个答案:

答案 0 :(得分:0)

您似乎在混合使用Android API v1和v2。如果您的应用程序使用了API v1,则不能仅将MapView替换为GoogleMap,并认为它可以正常运行。

最简单的迁移方法是删除使用API​​ v1的所有代码,并使用以下说明从头开始编写代码:https://developers.google.com/maps/documentation/android/start

Android Maps Extensions具有从Google Maps Android v2扩展API的API,也无法帮助您进行迁移。