3

我开发了一个继承自 View 类的类,我希望它用作来自 Google Maps API v2 的 MapFragment/MapView 上的标记。我记得,这样的事情在 API v1 中是可能的,甚至现在在 iOS 上也是可能的。我正在寻找这样的东西:

MapView map = (MapView)findViewById(R.id.mapview);
CircleTimerView myTimer = new CircleTimerView(this);
LayoutParams lp = new LayoutParams(iv.getWidth(), iv.getHeight(), geoPoint, LayoutParams.BOTTOM);
map.addView(myTimer,lp);

我的自定义视图是动画的,它是我的应用程序的一个关键功能。

我的问题是:Google Maps API 的当前状态是否可能?还是我应该尝试获取 API v1 密钥并使用已弃用的东西?

提前感谢您的回复。

4

3 回答 3

2

我应该尝试获取 API v1 密钥并使用已弃用的东西吗?

您无法获取 API v1 的新密钥。

我的自定义视图是动画的,它是我的应用程序的一个关键功能。

Marker除非您使用 反复更改图标,否则您无法拥有动画图标Marker.setIcon

Google Maps API 的当前状态是否可行?

View如果你把它画成第一个,你可以使用一个作为图标Bitmap

Chris Broadfoot 的这个库可以极大地帮助您完成这项任务:

https://github.com/googlemaps/android-maps-utils

请参阅此视频了解 lib 可以做什么:http ://www.youtube.com/watch?v=nb2X9IjjZpM

或者新网站:http: //googlemaps.github.io/android-maps-utils/

于 2013-08-09T14:44:58.270 回答
0

为了在 google maps api v2 上定制/使用您自己的定制制造商,您可以编写如下代码:

在 onCreate 中声明标记:

    userIcon = R.drawable.red;

然后我在你需要的地方使用它,在我的例子中,我在一个方法中使用它:

    if(userMarker!=null) userMarker.remove();

    userMarker = theMap.addMarker(new MarkerOptions()
    .position(lastLatLng)
    .title("You are here")
    .icon(BitmapDescriptorFactory.fromResource(userIcon))
    .snippet("Your last recorded location"));
    theMap.animateCamera(CameraUpdateFactory.newLatLng(lastLatLng), 100, null);

    CameraUpdate center=
            CameraUpdateFactory.newLatLng(lastLatLng);
        CameraUpdate zoom=CameraUpdateFactory.zoomTo(15);
       theMap.moveCamera(center);
        theMap.animateCamera(zoom);

希望这有帮助。祝你好运

于 2013-08-09T14:38:54.127 回答
0

这些天我遇到了同样的问题,您应该为 v2 进行切换,因为您可以更轻松地完成 v1 中的所有相同操作 + 许多新功能。

MapView 已替换为新的 GoogleMap-Objecttype。

可以在这里找到一个非常详细和体面的教程网站!

于 2013-08-09T14:41:14.853 回答