Articles of 谷歌地图

Android谷歌地图由转弯导航

我正在从目前的位置转向目的地。 我使用下面的代码完成了这个 Uri gmmIntentUri = Uri.parse("google.navigation:q="+address); Intent mapIntent = new Intent(Intent.ACTION_VIEW, gmmIntentUri); mapIntent.setPackage("com.google.android.apps.maps"); startActivity(mapIntent); 问题是,如果在屏幕1中点击回到屏幕2.然后,如果我点击屏幕2,屏幕3,然后屏幕4,然后最后我的活动。 我想要的是如果在屏幕1中点击,我怎样才能参加我的活动? 我怎样才能完成screen2,screen3,screen4通过点击screen1? 屏幕1: 屏幕2: 屏幕3: 屏幕4:

从CSV文件中提取数据(fusion table和kml解决方法)

在使用C#的Android的Xamarin谷歌地图,你可以创build像这样的基于这个教程的多边形: public void OnMapReady(GoogleMap googleMap) { mMap = googleMap; PolylineOptions geometry = new PolylineOptions() .Add(new LatLng(37.35, -37.0123)) .Add(new LatLng(37.35, -37.0123)) .Add(new LatLng(37.35, -37.0123)); Polyline polyline = mMap.AddPolyline(geometry); } 不过,我已经从谷歌地图的Fusion Table Layer下载了一个CSV文件,因为我认为这可能是处理多边形/折线数据的最简单的select。 输出如下所示: description,name,label,geometry ,Highland,61,"<Polygon><outerBoundaryIs><LinearRing><coordinates>-5.657018,57.3352 -5.656396,57.334463 -5.655076,57.334556 -5.653439,57.334477 -5.652366,57.334724 -5.650064,57.334477 -5.648096,57.335082 -5.646846,57.335388 -5.644733,57.335539 -5.643309,57.335428 -5.641981,57.335448 -5.640451,57.33578 -5.633217,57.339118 -5.627278,57.338921 -5.617161,57.337649 -5.607948,57.341015 -5.595812,57.343583 -5.586043,57.345373 -5.583581,57.350648 -5.576851,57.353609 -5.570088,57.354017 -5.560732,57.354102 […]

Android:模拟位置几秒钟后变回原始

我有一个Android应用程序,我需要用户嘲笑他们的当前位置。 下面是我使用的代码,让我们用户按绿色button开始嘲笑他们的位置。 下面的代码在“绿色button”被按下时开始伪造位置。 greenButton.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View view) { LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); lm.addTestProvider(LocationManager.GPS_PROVIDER, "requiresNetwork" == "", "requiresSatellite" == "", "requiresCell" == "", "hasMonetaryCost" == "", "supportsAltitude" == "", "supportsSpeed" == "", "supportsBearing" == "", Criteria.POWER_LOW, Criteria.ACCURACY_FINE); Location newLocation = new Location(LocationManager.GPS_PROVIDER); newLocation.setLatitude(fakeLocation.getLatitude()); newLocation.setLongitude(fakeLocation.getLongitude()); newLocation.setAccuracy(fakeLocation.getAccuracy()); newLocation.setTime(System.currentTimeMillis()); newLocation.setElapsedRealtimeNanos(SystemClock.elapsedRealtimeNanos()); lm.setTestProviderEnabled(LocationManager.GPS_PROVIDER, true); lm.setTestProviderStatus(LocationManager.GPS_PROVIDER, LocationProvider.AVAILABLE, null, […]

MapView onCreate抛出LG设备上的NullPointerException

首先,这个问题对于我来说只能运行在运行Android 6的LG设备(LG G4和G5)上。这个问题是通过谷歌播放服务的最新更新引入的。 如果我手动降级我的LG设备上的谷歌播放服务的错误消失了。 不幸的是,我不能告诉我的用户这样做,所以我需要find另一种解决scheme。 由于这个错误可以在Play商店的应用程序中重现,我可以确定这个错误不是通过我自己的代码更改引入的。 通过在MapView中调用onCreate()方法发生错误。 我subclassed MapView,并有我自己的类这样 public class MyMap extends MapView implements OnMapReadyCallback { … } 在MyMap的构造函数中,我调用了onCreate方法 public MyMap() { … this.onCreate(null); this.onResume(); this.getMapAsync(this); … } 在运行Android 6的LG设备上,会引发以下exception: java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources com.google.maps.api.android.lib6.impl.aq.e()' on a null object reference at com.google.maps.api.android.lib6.gmm6.vector.ah.getResources(:com.google.android.gms.DynamiteModulesB:340) at android.util.ResolutionOverride.<init>(ResolutionOverride.java:56) at android.view.SurfaceView.init(SurfaceView.java:207) at android.view.SurfaceView.<init>(SurfaceView.java:187) at com.google.maps.api.android.lib6.gmm6.vector.am.<init>(:com.google.android.gms.DynamiteModulesB:1) at […]

从GeoPoints创buildGPX文件

有没有办法将GeoPoints导出到GPX文件中? @Override public void onLocationChanged(android.location.Location location) { lat = location.getLatitude(); lon = location.getLongitude(); currGeo = new GeoPoint((int)(lat*1e6),(int)(lon*1e6)); //Store GeoPoint to GPX file } 我读过如何parsing和绘制gpx文件有一个android的MapView ,但我正在寻找一个更简单的解决scheme。

DefaultClusterRenderer getMarker()在缩放时返回null

我想要改变点击群集标记的背景。 我通过这样做 @Override onClusterClick(Cluster<MyObject> cluster) { Marker marker = renderer.getMarker(cluster); marker.setIcon(….); } 这可以很好地预期一种情况:放大或缩小时,集群标记的数量不会改变。 例如,如果我有一个15个集群和一个5个集群,然后放大或缩小一个级别,则保留相同的两个集群。 现在点击其中一个renderer.getMarker(cluster)返回null。 如果缩放后​​重新聚集,getMarker不为空。 我的DefaultClusterRenderer在下面。 我检查onClusteredRendered上的标记,它从不为空。 这是DefaultClusterRenderer中的一个错误还是我应该做别的? private class MyRenderer extends DefaultClusterRenderer<MyObject> { private IconGenerator iconGenerator; private float density; public MyRenderer(Context context, GoogleMap map, ClusterManager<MyObject> clusterManager) { super(context, map, clusterManager); density = context.getResources().getDisplayMetrics().density; } @Override protected void onBeforeClusterItemRendered(MyObject item, MarkerOptions markerOptions) { markerOptions.icon(BitmapDescriptorFactory.fromResource(R.drawable.my_pin)); […]

是否有可能从android2.2应用程序谷歌地图获得build议的路线?

我正在使用以下url从Google地图获取驾车路线。 http://maps.google.com/maps?f=d&hl=en&saddr=location1&daddr=location2&ie=UTF8&0&om=0&output=kml 我在我的KML文件中只有一条路线。 但是当我们在网页浏览器中search相同的位置时,它会显示build议的路线 。 为了获得所有可用的路由作为输出,是否有任何其他参数添加到URL中 。 我发现一些答案,因为使用谷歌的方向与JavaScript的API与替代品= true是否适合于android? 或任何其他解决scheme? 不要评论如果URL有任何错误,我在我的应用程序中使用正确的。 谢谢

如何为Android Google Maps v2设置自定义标记图标的大小?

我想要使​​用Google Maps v2为Android应用devise自定义图标。 我知道有一些devise资源描述了如何为各种设备和密度创build图标。 以下是一些信息来源: 面向平面devise师的Android作弊表 Android资源工作室 Android开发人员图像 Android SDK包含一个名为maps的示例项目。 虽然它不包含资源文件夹中的标记图标。 示例项目位于: $ANDROID_HOME/extras/google/google_play_services/samples/maps/ 但是,如何为Google地图创build类似于以下屏幕截图中所示的标记图标 : 是否有任何风格指南告诉图标大小的密度,如ldpi , mdpi , hdpi , xhdpi , xxhdpi或tvdpi ?

Android谷歌地图的片段

我正在开发一个应用程序,顶部带有一些菜单的菜单。 我试图添加谷歌地图的button之一,但我不是很成功。 我正在按照这个教程,而不是实施谷歌直接进入MainActivity我将它们添加到一个片段,按下button时启动。 一切正常。 当我按下button的地图加载,他们的工作,因为他们应该。 当我按主页button返回到MainActivity它完美的作品,但是当我想再次加载地图,它给了我debugging error: Class File Editor: Source not found 这是GoogleMaps片段的代码: public class GoogleMaps extends Fragment{ private GoogleMap googleMap; double latitude = 46.514249; double longitude = 15.080183; public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { final View myFragmentView = inflater.inflate(R.layout.maps_layout, container, false); try { // Loading map initilizeMap(); } catch (Exception […]

如何检查用户是否在圈内Google maps v2

我在地图上有一个圈子。 现在我想检测用户(或我)是否在圈内。 Circle circle = map.addCircle(new CircleOptions() .center(new LatLng(14.635594, 121.032962)) .radius(55) .strokeColor(Color.RED) ); 我有这个代码: LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE); LocationListener ll = new myLocationListener(); lm.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,ll); Location.distanceBetween( pLat,pLong, circle.getCenter().latitude, circle.getCenter().longitude, distance); if( distance[0] > circle.getRadius() ){ Toast.makeText(getBaseContext(), "Outside", Toast.LENGTH_LONG).show(); } else { Toast.makeText(getBaseContext(), "Inside", Toast.LENGTH_LONG).show(); } 而在myLocationListener我有这个: public void onLocationChanged(Location location) { // TODO Auto-generated method stub […]