Tag: android maps

如何使相机居中,使标记位于屏幕底部? (Google map api V2 Android)

当点击一个标记时,摄像机的默认行为是将其居中在屏幕上,但是因为我通常在信息窗口中有很长的文字描述,所以实际改变摄像机位置以便标记位于底部(使屏幕中心的信息窗口)。 我认为我应该可以通过覆盖onMarkerClick函数来做到这一点(如果此函数返回true,则默认行为被取消) @Override public boolean onMarkerClick(final Marker marker) { // Google sample code comment : We return false to indicate that we have not // consumed the event and that we wish // for the default behavior to occur (which is for the camera to move // such that the // marker is centered and […]

Android:在Google地图中设置缩放级别以包含所有标记点

我正在尝试在android中为Maps设置缩放级别,使其包含列表中的所有点。 我正在使用以下代码。 int minLatitude = Integer.MAX_VALUE; int maxLatitude = Integer.MIN_VALUE; int minLongitude = Integer.MAX_VALUE; int maxLongitude = Integer.MIN_VALUE; // Find the boundaries of the item set // item contains a list of GeoPoints for (GeoPoint item : items) { int lat = item.getLatitudeE6(); int lon = item.getLongitudeE6(); maxLatitude = Math.max(lat, maxLatitude); minLatitude = Math.min(lat, minLatitude); […]

移动MapFragment(SurfaceView)导致黑色背景闪烁

我正在尝试实施新的Android Google Maps API(v2)。 但是,它似乎不适合与SlidingMenu 。 如您所知, MapFragment实现基于SurfaceView 。 问题是SurfaceView不喜欢移动它 – 我的意思是把它放在可移动的视图: ViewPager , ScrollView , ListView , 或上述的SlidingMenu 。 当你移动它时,它会在原来的像素位置留下一个黑洞。 看起来像这样 这个问题可以通过在SurfaceView上指定一个透明的背景或者在它上面放置一个透明的View来部分解决。 我只是不能确定如果只为我的结果是不可接受的,或者如果我有一个不同的问题,使它看起来如何。 要了解它的外观,请观看本video 。 (抱歉,质量,但问题可以很容易地看到) 当一个普通的列表视图(橙色屏幕)被拉开,同时打开SlidingMenu ,animation是光滑的,很好。 但是一旦MapFragment出现, MapFragment就会出现一些奇怪的刷新/闪烁/同步问题。 testingHTC One S和三星Galaxy ACE。 我的超级疯狂的解决办法是:每次开始animation时,都要截取MapFragment (应该可以使用SurfaceView),并在animation期间放置它。 但是我真的不知道该怎么做…… 以地图的截图是不可能的 ,但也许有人会从中得到灵感。 或者也许禁用其他方式重新绘制地图,我不知道。 更新: find了这个 。 看起来,SurfaceView可以改变为TextureView来消除这些限制。 但是由于MapFragment是基于SurfaceView的,我不知道是否可以实现。 另一个更新看来,这个问题已经在设备4.1+上解决了。 他们只是使用TextureView。 但在较低版本中,我们仍然需要使用解决方法。

MapView中的片段(蜂窝)

现在,最终的SDK与谷歌apis – 什么是最好的方式来创build一个MapView的片段? MapView需要MapActivity才能正常工作。 让pipe理碎片的活动从MapActivityinheritance(糟糕的解决scheme,因为它违背碎片自包含的想法)并使用常规的基于xml的布局不起作用。 我在MapActivity.setupMapView()中得到一个NullPointerException: E / AndroidRuntime(597):引起:java.lang.NullPointerException E / AndroidRuntime(597):com.google.android.maps.MapActivity.setupMapView(MapActivity.java:400) E / AndroidRuntime(597):com.google.android.maps.MapView。(MapView.java:289) E / AndroidRuntime(597):com.google.android.maps.MapView。(MapView.java:264) E / AndroidRuntime(597):com.google.android.maps.MapView。(MapView.java:247) 我的第二个想法是以编程方式创buildMapView,并将相关活动(通过getActivity())作为上下文传递给MapView构造函数。 不起作用: E / AndroidRuntime(834):引起:java.lang.IllegalArgumentException:MapViews只能在MapActivity的实例内部创build。 E / AndroidRuntime(834):com.google.android.maps.MapView。(MapView.java:291) E / AndroidRuntime(834):com.google.android.maps.MapView。(MapView.java:235) E / AndroidRuntime(834):在de.foo.FinderMapFragment.onCreateView(FinderMapFragment.java:225) E / AndroidRuntime(834):在android.app.FragmentManagerImpl.moveToState(FragmentManager.java:708) E / AndroidRuntime(834):在android.app.FragmentManagerImpl.moveToState(FragmentManager.java:900) E / AndroidRuntime(834):在android.app.FragmentManagerImpl.addFragment(FragmentManager.java:978) E / AndroidRuntime(834):在android.app.Activity.onCreateView(Activity.java:4090) E / AndroidRuntime(834):在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:664) 真的应该有像MapFragment的照顾后台线程MapView需要我猜…那么目前最好的做法是什么呢? 感谢德国Valentin的问候

使用com.google.android.gms.maps.MapFragment的其他片段复制ID,标记空值或父级ID

我有一个三个选项卡的应用程序。 每个选项卡都有自己的布局.xml文件。 main.xml有自己的地图片段。 这是应用程序首次启动时显示的那个。 一切工作正常,除了当我改变选项卡之间。 如果我尝试切换回地图片段选项卡,我得到这个错误。 切换到其他标签和之间工作得很好。 这里有什么可能是错的? 这是我的主类,我的main.xml,以及我使用的相关类(你也可以在底部find错误日志) 主要类 package com.nfc.demo; import android.app.ActionBar; import android.app.ActionBar.Tab; import android.app.Activity; import android.app.Fragment; import android.app.FragmentTransaction; import android.os.Bundle; import android.widget.Toast; public class NFCDemoActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ActionBar bar = getActionBar(); bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); bar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE); bar.addTab(bar .newTab() .setText("Map") .setTabListener( new TabListener<MapFragment>(this, "map", MapFragment.class))); bar.addTab(bar .newTab() […]

一个ScrollView里面的MapView?

我想在ScrollView中有一个MapView,但是当我尝试滚动地图时,ScrollView会优先考虑! 在地图内滚动时,有没有办法让MapView优先,而ScrollView呢? 谢谢!

Google地图Android API v2授权失败

我的步骤: 从debug.keystore获得SHA1代码 在Google apis控制台中创build应用 启用谷歌地图api v2 inputSHA1; my.package.name 获取API密钥 创buildAndroidManifest文件: <permission android:name="my.package.name.permission.MAPS_RECEIVE" android:protectionLevel="signature"/> <uses-permission android:name="my.package.name.permission.MAPS_RECEIVE"/> <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> <uses-feature android:glEsVersion="0x00020000" android:required="true"/> <application android:label="@string/app_name" android:icon="@drawable/ic_launcher" android:hardwareAccelerated="true"> <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="MY_API_KEY_HERE" /> <activity android:name="MyActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> </application> </manifest> 创build布局 把“google-play-services.jar”放到libs中 编译后,我崩溃了: […]