Java 在Google Maps API v2中添加自定义视图作为标记
我已经开发了一个从视图类继承的类,我希望它可以作为来自GoogleMapsAPI v2的MapFragment/MapView上的标记。我记得,这样的事情在API v1中是可能的,甚至现在在iOS上也是可能的。我在找这样的东西: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
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。我会让你知道这是否对我有效。