也许我错过了一些东西,但是我无法在Play Services 6.5中使用新的仅支持Google Maps的依赖关系 我得到以下例外: java.lang.NoSuchFieldError: No static field MapAttrs of type [I in class Lcom/google/android/gms/R$styleable; or its superclasses (declaration of 'com.google.android.gms.R$styleable' appears in /data/app/com.kaching.merchant.dev1-1/base.apk) at com.google.android.gms.maps.GoogleMapOptions .createFromAttributes(Unknown Source) at com.google.android.gms.maps.SupportMapFragment .onInflate(Unknown Source) performance: <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="my-awesome-key"/> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> Gradle文件: compile 'com.google.android.gms:play-services-maps:6.5.+' compile 'com.android.support:support-v4:21.0.2' 布局: <fragment android:id="@+id/map" android:name="com.google.android.gms.maps.MapFragment" android:layout_width="match_parent" android:layout_height="match_parent"/> 这是打破了还是我做错了什么? […]
我有一个RecyclerView这是一个项目的垂直滚动列表。 每个列表项都包含Lite模式下的Google Maps V2 MapView。 我正在利用这个新function,它返回位图,而不是一个完整的地图作为Google Static Maps API的替代品。 MapView要求您从父Activity / Fragment的相应方法调用onCreate() , onResume() , onPause() , onDestroy()等。 从RecyclerView.Adapter和/或RecyclerView.ViewHolder哪里可以调用这些地方? 我如何清理回收的MapViews,使内存不泄漏,同时保持清单免费? 谷歌说精简模式可以在列表中使用: …'精简模式'的地图选项,非常适合您想要提供一些较小的地图的情况下,或者一个非常小的地图,以至于有意义的交互是不切实际的,比如列表中的缩略图。 ListItem.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <com.google.android.gms.maps.MapView android:id="@+id/mapImageView" xmlns:map="http://schemas.android.com/apk/res-auto" android:layout_width="80dp" android:layout_height="100dp" map:liteMode="true" map:mapType="normal" map:cameraZoom="15"/> <!– … –> </RelativeLayout> RecyclerView.Adapter和ViewHolder public class NearbyStopsAdapter extends RecyclerView.Adapter<NearbyStopsAdapter.ViewHolder> { private final Context mContext; public class ViewHolder extends RecyclerView.ViewHolder […]
我不确定我是应该使用MapView还是坚持使用MapFragment 。 我的应用程序是一个应用程序,可以find离您最近的一组地点。 我希望能够添加位置,当按下标记时显示标记的详细信息,以及当用户沿着地图移动时,我希望能够获取地图中心的坐标,并显示定义的最近位置半径。 如果我继续使用MapFragments还是应该切换到MapView而我仍然有机会,那么我会处于劣势吗?
如何在GoogleMap上获取当前缩放级别的整数 我需要从GMaps v1.1中获取这些代码: MapView mGoogleMapView; int zoomLevel = mGoogleMapView.getZoomLevel(); 我知道方法getMinZoomLevel()和getMaxZoomLevel()但是我找不到任何东西在Android GMap V2文档,将提供当前缩放级别。 有没有人有任何指示如何做到这一点? 任何帮助,将不胜感激。
我创build一个应用程序,用户需要走到地图上的一个点。 但他们需要find自己的路线。 我创build了一个带标记的地图,但默认情况下,如果用户点击标记“开始导航”,并显示在谷歌地图选项的视图。 是否有可能禁用这些选项? 标记点击时显示的选项
我正在使用Google Maps Android API v2,而且我需要一种方法来处理“我的位置”button的位置。 我得到这样的“我的位置”button: GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext()); final GoogleMap map = ((SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map)).getMap(); // This gets the button map.setMyLocationEnabled(true);
我试图找出如何最好地做到这一点,我有一个地图上绘制一个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 […]
添加标记时,是否有办法自动打开infowindow? 使用此代码添加标记,但infowindow仅在单击标记时打开: myMap.addMarker(new MarkerOptions() .position(latLng) .title("Title") .snippet("Snippet") .icon(BitmapDescriptorFactory .fromResource(R.drawable.marker)));
我正在使用LocationManager来跟踪用户当前位置,现在,在将位置pipe理器更改为FusedLocation API后,即使在设置了map.setMyLocationEnabled(true)后,也不会显示蓝点和圆圈。 我可以看到地图片段右上angular的当前位置图标,但点击它却什么都不做。 我将代码恢复到了LocationManager,现在我能够看到指向我当前位置的蓝点。 使用Fused Location API会出现什么问题?
我试图find两个位置之间的驾驶方向: LatLng(12.917745600000000000,77.623788300000000000) LatLng(12.842056800000000000,7.663096499999940000) 我试过的代码是: Polyline line = mMap.addPolyline(new PolylineOptions(). add(new LatLng(12.917745600000000000,77.623788300000000000), new LatLng(12.842056800000000000,7.663096499999940000)) .width(5).color(Color.RED)); 但是这两点之间画了一条直线。 有没有其他的方法/途径来获得这两点之间的驾驶方向。