Articles of 谷歌,地图,AndroidAPI 2

Android Google Map V2显示空白并仅显示缩放button?

我使用谷歌地图V2和显示多个标记,但首先我想显示在屏幕上的地图我放下我的所有文件在这里只给出空白我会检查出来,但没有为我工作 main.xml中 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <fragment android:id="@+id/mapview" android:layout_width="match_parent" android:layout_height="match_parent" class="com.google.android.gms.maps.SupportMapFragment" /> </RelativeLayout> AndroidManifest.xml中 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.mapactivity" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="10" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission […]

使用Google位置API在android中的onMapReady中获取当前位置

我试图显示在我的应用程序内的谷歌地图上的用户的当前位置,但我不想随着用户移动不断更新的位置。 他的初始位置应该logging下来,直到他closures应用程序。 我已经为此写了下面的代码: private GoogleMap mMap; protected GoogleApiClient mGoogleApiClient; Location mLastLocation; double lat =0, lng=0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_map); buildGoogleApiClient(); // Obtain the SupportMapFragment and get notified when the map is ready to be used. SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map); mapFragment.getMapAsync(this); } private void buildGoogleApiClient() { mGoogleApiClient = new GoogleApiClient.Builder(this) […]

显示或隐藏标记取决于缩放级别

我在地图上绘制了很多标记,当它们靠近时,它们相互重叠。 所以我想隐藏一些小的缩放标记,并在用户缩放地图时显示更多的标记。 像更多的放大,更多的标记。 这里是示例代码的活动和标记的创build,你可以看到我正在使用谷歌地图android api v2: public class MainActivity extends FragmentActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); GoogleMap map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap(); map.getUiSettings().setMyLocationButtonEnabled(true); createMarkers(map); } private void createMarkers(GoogleMap map) { double initLat = 48.462740; double initLng = 35.039572; for(float i = 0; i < 2; i+=0.2) { LatLng pos = new LatLng(initLat […]

如何将一个button添加到标记的信息窗口?

我想在我的应用程序中实现这一点,但我不知道如何让标记有一个button,或者如何让OnMarkerClickListener告诉我它点击了哪个部分。 作为一个例子,这里是官方的地图应用程序,其中方向图标是一个单独的部分/button,右侧显示的评论。

为什么GoogleMap.animateCamera()在onGlobalLayout()之后崩溃?

我有一个embedded了新的Google Maps API的SuportMapFragment的片段存在问题。 当我的片段被创build时,它会从onResume方法开始的AsyncTask获取一些数据。 发生这种情况时,MapFragment保持不在屏幕上,而是显示一个进度条。 当AsyncTask完成时,我注册了mapView的onGlobalLayout事件。 然后我显示片段,导致地图视图显示和布局。 onGlobalLayout被触发,animation开始。 这工作很好,相当一段时间,直到我开始优化在数据收集AsyncTask几乎即时完成操作。 现在,应用程序在启动时会经常崩溃,在Release中比debugging更频繁,这就是为什么我认为我正在处理一个我不知道的赛车条件。 这个exception是: 地图大小不应该是0.很可能,地图视图的布局尚未发生。 任何见解都非常感谢。 供参考:这是似乎导致崩溃的代码: // Hide status UI this.progressBar.setVisibility(View.INVISIBLE); this.statusTextView.setVisibility(View.INVISIBLE); // Update state this.uraDataDownloadFinished = true; // Schedule map translation to occur when layout is complete final View mapView = this.mapFragment.getView(); if (mapView.getViewTreeObserver().isAlive()) { mapView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() { @SuppressWarnings("deprecation") @SuppressLint("NewApi") // We check which build version […]

Android studio v0.3.2,gradle,google maps v2.0没有find类“com.google.android.gms.maps.MapFragment

我在Google Maps Android v2.0中遇到问题。 因为我尝试了很多的select,我总是得到这个堆栈跟踪: 1-03 17:39:26.015 2398-2398/com.** E/AndroidRuntime﹕ FATAL EXCEPTION: main java.lang.RuntimeException: Unable to start activity ComponentInfo{com.**/com.** .MainActivity}: android.view.InflateException: Binary XML file line #24: Error inflating class fragment at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230) at android.app.ActivityThread.access$600(ActivityThread.java:141) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:5041) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) at dalvik.system.NativeStart.main(Native Method) […]

Google Maps Android API v2路线覆盖

今天玩了新的API,看看我是否可以移植我的当前应用程序,我发现没有MapView.getOverlays().add(…); 从概念上来说,很难想象如何在地图倾斜时重新排列之前的2D叠加层。 我发现有一些叫做GroundOverlayfunction,但是这看起来不适用于我的情况。 我也看到Polyline ,这看起来更适合我的目的。 有没有人有任何想法如何,或者如果能够使用映射API v2添加路线覆盖(我正在使用Directions API)?

扩展Google Maps Android API v2以提供平移和缩放事件

如何扩展Google地图Android API v2以检测地图是平移还是放大?

旋转时回收Android Maps V2 SupportMapFragment

我正在寻找提高设备旋转时的SupportMapFragment的性能。 好像这个片段必须重新创build。 我不知道这一点,但是当设备旋转时,地图瓷砖必须重新加载。 从性能angular度来看,保留和重用整个映射片段而不必重新实例化片段是有意义的。 任何深入了解,将不胜感激。 我在xml中声明了SupportMapFragment,并使用api文档中描述的SetupMapIfNeeded()。 private void setUpMapIfNeeded() { // Do a null check to confirm that we have not already instantiated the // map. if (mMap == null) { // Try to obtain the map from the SupportMapFragment. mMap = ((SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map)).getMap(); // Check if we were successful in obtaining the map. […]

IllegalStateException地图大小不应该为0

我有一个显示地图的MapFragment 如果用户离开活动(或者设备进入睡眠状态),则返回onResume被调用,并将地图移回标记。 但是,当我移动相机,我得到一个例外 07-23 16:28:42.725: E/AndroidRuntime(19095): java.lang.RuntimeException: Unable to resume activity {ecm2.android/ecm2.android.EMGNoteMapActivity}: java.lang.IllegalStateException: Map size should not be 0. Most likely, layout has not yet occured for the map view. 07-23 16:28:42.725: E/AndroidRuntime(19095): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2742) 07-23 16:28:42.725: E/AndroidRuntime(19095): at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2771) 07-23 16:28:42.725: E/AndroidRuntime(19095): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2235) 07-23 16:28:42.725: E/AndroidRuntime(19095): at android.app.ActivityThread.access$600(ActivityThread.java:141) 07-23 16:28:42.725: E/AndroidRuntime(19095): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234) […]