Articles of google maps android api 2

Polygon Touch检测Google Map API V2

我正在试图弄清楚如何最好地做到这一点,我有一张地图上画了一个Polygon 。 因为Google Maps API V2似乎没有在Polygon上进行触摸检测。 我很想知道是否可以检测触点是否在Polygon内部? 如果是这样,我的主要目标是在地图上勾画状态,当用户点击该状态时,它将在自定义视图中显示更多细节。 到目前为止,我能够捕获地图的MapOnClick ,但是当用户点击Polygon内部时,我希望在Toast上设置polygon.getID() 。 我是新手,所以如果我不够清楚,我会道歉。 googleMap.setOnMapClickListener(new OnMapClickListener() { public void onMapClick(LatLng point) { boolean checkPoly = true; Toast.makeText(MainActivity.this,”The Location is outside of the Area”, Toast.LENGTH_LONG).show(); } }); } } catch (Exception e) { Log.e(“APP”,”Failed”, e); } 好的,这就是我到目前为止所做的半工作 private boolean rayCastIntersect(LatLng tap, LatLng vertA, LatLng vertB) { double aY […]

使用android融合位置api在MyLocation上不显示蓝点和圆圈

我使用LocationManager跟踪用户当前位置。现在,在将位置管理器更改为FusedLocation API之后,即使在设置map.setMyLocationEnabled(true)后,也不会显示蓝点和圆圈。 我可以在地图片段的右上角看到当前位置图标,但点击它不会做任何事情。 我将我的代码恢复到LocationManager现在我能够看到指向我当前位置的蓝点。 使用Fused Location API可能有什么问题。

与片段重复的id

我正在尝试应用drawernavigation(我的第一个片段是一个地图,其他的只是一些简单布局的片段)。所以它运行良好我可以在我的片段之间导航但是当我返回到第一个片段,这是一个地图我遇到了崩溃 logcat的: 11-20 11:03:27.306: E/AndroidRuntime(13787): FATAL EXCEPTION: main 11-20 11:03:27.306: E/AndroidRuntime(13787): android.view.InflateException: Binary XML file line #6: Error inflating class fragment 11-20 11:03:27.306: E/AndroidRuntime(13787): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:697) 11-20 11:03:27.306: E/AndroidRuntime(13787): at android.view.LayoutInflater.rInflate(LayoutInflater.java:739) 11-20 11:03:27.306: E/AndroidRuntime(13787): at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 11-20 11:03:27.306: E/AndroidRuntime(13787): at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 11-20 11:03:27.306: E/AndroidRuntime(13787): at challenge.arabe.taxitaxi.HomeFragment.onCreateView(HomeFragment.java:48) 11-20 11:03:27.306: E/AndroidRuntime(13787): at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:828) 11-20 11:03:27.306: E/AndroidRuntime(13787): at […]

在Google Map中绘制ARC折线

如何在Google Map中绘制弧形折线? 我已经使用此代码创建了弯曲的折线。 以下是绘制弯曲折线的方法 : private void showCurvedPolyline (LatLng p1, LatLng p2, double k) { //Calculate distance and heading between two points double d = SphericalUtil.computeDistanceBetween(p1,p2); double h = SphericalUtil.computeHeading(p1, p2); //Midpoint position LatLng p = SphericalUtil.computeOffset(p1, d*0.5, h); //Apply some mathematics to calculate position of the circle center double x = (1-k*k)*d*0.5/(2*k); double r […]

GPS位置波动

我在Google地图上绘制一条折线,取决于半径(1 – 100米)。 一旦绘制了心脏,用户需要在心脏边界上行走并且需要从头到尾完成(从底部开始然后向左然后向右然后再向下开始)。 我能够画出心脏,我得到360分(latlng)。 这是我的代码,它将绘制心脏和图像。 private void initPath() { path = new PolylineOptions(); path.color(ContextCompat.getColor(mActivity,R.color.heart_green)); path.width(25); // offset to bottom double offsetY = getY(Math.toRadians(180)); for (int angle = 0; angle <= 360; angle++) { double t = Math.toRadians(angle); double x = getX(t); double y = getY(t) – offsetY; //Log.d(TAG, "angle = " + angle + […]

适用于Android的Googlemaps v2中的getInfoWindow()和getInfoContents()之间的区别

两个问题: public abstract View getInfoWindow (Marker marker)和public abstract View getInfoContents (Marker marker)之间的区别是什么。 getInfoContents()的用途是什么。 Google地图博客说:( getInfoWindow())允许您提供将用于整个信息窗口的视图。 (getInfoContents())允许您只定制窗口的内容,但仍保留默认信息窗口框架和背景。 。 可以任何一个请expalin(尝试与现有项目比较,可能像listView行项目左右) 谢谢

从clustermanager中删除项目的问题

在我的Android应用程序中,我必须在我的GoogleMap中删除并重新添加一个代表我当前位置的群集项。 但是当我运行这段代码时: clusterMng.remove(myitem); 我得到这个例外: java.lang.UnsupportedOperationException: NonHierarchicalDistanceBasedAlgorithm.remove not implemented. 有人可以向我解释这意味着什么吗? 我是否必须在外部库中重写一些ClusterManager.java方法? 或者我可以简单地改变我的算法?

在Google Maps Android V2中群集大量标记时的最佳做法

我想在Google Map上显示大量标记(50k +)。 事实certificate,Android Maps Util Library https://github.com/googlemaps/android-maps-utils似乎是聚类标记时的首选。 我想知道是否存在任何最佳实践,以便在显示如此大量的标记时提高地图用户体验的性能。 例 例如,我使用群集管理器向群集管理器添加大约20.000个标记,从而在缩放和平移地图时产生不太平滑的地图交互体验。 我用过的: GridBasedAlgorithm gridAlgorithm = new GridBasedAlgorithm(); mClusterManager.setAlgorithm(new PreCachingAlgorithmDecorator(gridAlgorithm)); 我的策略 : 1)在摄像机更改事件中从群集器中删除所有标记,然后仅添加视图边界内的标记。 在高缩放级别上工作得很好,当缩放级别降低时,有许多标记要移除和添加,从而增加了整个聚类过程的开销 2)首先添加所有标记。 100个标记=>效果很好 1000 Markers => Works,但在缩小发生时已经显示出聚类过程中的缓慢 10000个标记=>行为已经非常缓慢,需要很长时间才能重新聚类标记并且缩小输入并不顺利 20000 Markers =>重新聚类需要很长时间(> 20秒),地图没有响应

Google Maps Android API v2检测到地图上的长按并添加标记无效

我想用长按点在地图上添加标记。 但它不起作用。 正常点击正在运行。 onMapClick() Toast显示正常点击。 但是长按不起作用。 长按单击不会显示onMapLongClick() Toast 。 地图上也不显示标记。 我正在使用SupportMapFragment因为我想在android 2.x设备上使用我的应用程序。 我已经在nexus上测试了我的应用程序,其中有Android版本2.3.7。 这是我的代码。 public class MainActivity extends FragmentActivity implements OnMapClickListener, OnMapLongClickListener { final int RQS_GooglePlayServices = 1; private GoogleMap myMap; Location myLocation; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); FragmentManager myFragmentManager = getSupportFragmentManager(); SupportMapFragment mySupportMapFragment = (SupportMapFragment) myFragmentManager .findFragmentById(R.id.map); myMap = mySupportMapFragment.getMap(); myMap.setMyLocationEnabled(true); […]

SlidingDrawer over GoogleMap

首先,我知道SlidingDrawer已被弃用,但我没有find任何替代品,所以我仍在使用它:3(如果有人知道它的替代品,请分享!) 所以我的活动中有一个GoogleMap(实际上是一个片段,但没关系),并且在同一个屏幕上有一个很好的SlidingDrawer。 它运行正常,但是当我在地图上打开或关闭滑动抽屉时,它开始表现得很奇怪。 看起来地图想要留在滑动抽屉前面。 抽屉完全打开后,它会回到正面,一切正常。 这有解决方法吗? 我疯了! 这是我的布局: