Articles of android maps v2

检查标记是否在圆半径内

我想知道给定的标记是否在圆半径内。 在javascript中,我可以做类似的事情: google.maps.geometry.spherical.computeDistanceBetween(latLngCircleCenter, latLngPoint); 但在android中,使用maps-v2,我被困住了。

确定点是否在多边形中

根据我的要求,我在谷歌地图上绘制多边形,如下图所示。(使用地图v2) 现在,我需要在用户输入特定多边形时显示警报。 如何识别我的当前位置是否在多边形中。 (需要优化的方式,不需要耗尽电池) 提前致谢。

隐藏android google maps API v2中的标记信息窗口

目前,我可以使用Android Google Maps API v2在Google地图中查看我的所有标记。 在地图中添加我的标记: mapView.addMarker (new MarkerOptions() .position(aUsersLocation). icon(BitmapDescriptorFactory.fromBitmap(aUserImage)) .snippet(My_VALUE_1) .title(My_VALUE_2) .hideInfoWindow(); 我有几个标记,并为每个标记的代码段和标题分配了几个值(My_VALUE_1和My_VALUE_2)。 当用户点击标记时,我需要这些唯一值,我将在onMarkerClick监听器中收到以下值: @Override public boolean onMarkerClick(Marker theMarker) { String aValue1 = theMarker.getSnippet(); String aValue2 = theMarker.getTitle(); theMarker.getPosition().latitude… … return false; } 我的问题是:当我将标题和标题值添加到标记时,当用户单击标记时,会显示infoWindow。 我需要隐藏标记的infoWindow。 我尝试使用hideInfoWindow ,但它似乎无法正常工作。 请给我任何建议。 谢谢。

从Android Google Maps API v2中删除一个圆圈而不清除地图

我正在我的地图上绘制一个圆圈,如下所示: CircleOptions circle=new CircleOptions(); circle.center(centre); circle.strokeColor(0xFFFFA420); circle.strokeWidth(2f); circle.fillColor(0x11FFA420); circle.radius(radius); myMap.addCircle(circle); 要删除此圈子,我调用myMap.clear() ,删除添加到地图中的所有项目。 问题是如何删除此圈而不删除地图上的所有其他项?

TileProvider方法getTile – 需要将x和y转换为lat / long

我正在将iOS应用移植到Android,并使用Google Maps Android API v2. 应用程序需要在地图上绘制热图叠加层。 到目前为止,看起来最好的选择是使用TileOverlay并实现自定义TileProvider 。 在方法getTile ,我的方法被赋予x,y和zoom,并且需要以Tile的forms返回位图。 到现在为止还挺好。 我有一组热图项目,我将用它们在位图​​上绘制径向渐变,每个都有一个纬度/经度。 我遇到以下两个任务有问题: 如何确定由x,y和zoom表示的图块是否包含热图项目的纬度/经度? 如何将热图项目的纬度/经度转换为位图的x / y坐标。 感谢您的帮助! UPDATE 感谢MaciejGórski的回答,以及marcin的实现,我能够回答我的问题的前半部分,但我仍然需要第二部分的帮助。 为了澄清,我需要一个函数来返回指定纬度/经度的图块的x / y坐标。 我试图扭转MaciejGórski的计算和marcin的答案而没有运气。 public static Point fromLatLng(LatLng latlng, int zoom){ int noTiles = (1 << zoom); double longitudeSpan = 360.0 / noTiles; double mercator = fromLatitude(latlng.latitude); int y = ((int)(mercator / 360 * noTiles)) […]

“使用谷歌地图导致类片段错误”

我尝试使用Google Map制作示例项目,但我做不到。 请帮帮我! 测试设备:Android 4.0.4 错误信息 : 12-29 23:45:32.605: E/AndroidRuntime(9437): FATAL EXCEPTION: main 12-29 23:45:32.605: E/AndroidRuntime(9437): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.test_googlemap/com.example.test_googlemap.MainActivity}: android.view.InflateException: Binary XML file line #2: Error inflating class fragment 12-29 23:45:32.605: E/AndroidRuntime(9437): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1968) 12-29 23:45:32.605: E/AndroidRuntime(9437): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1993) 12-29 23:45:32.605: E/AndroidRuntime(9437): at android.app.ActivityThread.access$600(ActivityThread.java:127) 12-29 23:45:32.605: E/AndroidRuntime(9437): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1159) 12-29 23:45:32.605: E/AndroidRuntime(9437): at […]

如何获取标记文本的单击事件

我在我的应用程序中显示谷歌地图api v2。 我在地图上设置了一些标记。 我还在单击标记时显示的标记上设置了标题和摘要。 现在,我想在点击标记的标题时调用新活动,而不是标记本身。 map.setOnMarkerClickListner 仅在单击标记时调用。 但我不想这样做。 我希望标记在点击标记时显示标题和片段,但我想在点击标题时调用新活动。 知道我们怎么做吗? 谢谢

谷歌地图Android API v2 SupportMapFragment内存泄漏

使用2个简单的活动。 第一个Activity只包含一个按钮来启动第二个包含地图的Activity: 主要活动: public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void goToMap(View view){ //This is just the onClick method for the button Intent intent=new Intent( this, BigMapTest.class); startActivity(intent); } 地图活动: public class BigMapTest extends FragmentActivity { SupportMapFragment mapFragment; GoogleMap map; @Override protected void onCreate(Bundle arg0) { […]

谷歌地图为我的位置自定义按钮

如何更改谷歌地图我的位置默认按钮? 我设置了我的位置启用和地图绘制标准图像来查找位置,是否可以更改默认图像?

在片段中使用Google Map v2的推荐方法是什么?

我想在片段内添加自定义布局的地图。 我可以使用将添加SupportMapFragment的ChildFragmentManager来实现。 我目前正在使用此方法。 但它有缺点,因为子片段事务是异步的,很难保证getMap不会返回null。 另一种方法是从超级onCreateView扩展SupportMapFragment存储mapView mapView = super.onCreateView(inflater, container, savedInstanceState); 并将其插入到膨胀的布局中。 主要问题是,然后片段尝试从保存状态恢复谷歌地图SDK内部粉碎。 有没有其他方法来解决这个问题。 如果谷歌地图团队的某个人会推荐正确的方法,那将是很好的,因为你没有在样本中包含这样的东西。