Java 在Google Maps API v2中添加自定义视图作为标记

Java 在Google Maps API v2中添加自定义视图作为标记,java,android,google-maps-android-api-2,Java,Android,Google Maps Android Api 2,我已经开发了一个从视图类继承的类,我希望它可以作为来自GoogleMapsAPI v2的MapFragment/MapView上的标记。我记得,这样的事情在API v1中是可能的,甚至现在在iOS上也是可能的。我在找这样的东西: MapView map = (MapView)findViewById(R.id.mapview); CircleTimerView myTimer = new CircleTimerView(this); LayoutParams lp = new LayoutPar

我已经开发了一个从视图类继承的类,我希望它可以作为来自GoogleMapsAPI 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);
我的自定义视图是动画的,它是我的应用程序的关键功能。 我的问题是:谷歌地图API的当前状态是否可能?或者我应该尝试获取API v1密钥并处理一些不推荐使用的东西吗


提前感谢您的回复。

为了在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);

希望这有帮助。祝你好运

这些天我遇到了同样的问题,你应该为v2做切换,因为你可以从v1更简单+许多新功能中做同样的事情

MapView已替换为新的GoogleMap对象类型

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

我是否应该尝试获取API v1密钥并处理一些不推荐使用的内容

无法获取API v1的新密钥

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

除非使用
Marker.setIcon
反复更改图标,否则不能设置动画
Marker
图标

谷歌地图API的当前状态是否可能

如果先将
视图
绘制到
位图
中,则可以将其用作图标

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

请参阅此视频了解lib的功能:


或者新网站:

这是一个很好的建议,非常感谢你,Maciej。我会让你知道这是否对我有效。