Tag: android maps v2

在Google地图版本2中将可绘制的图像设置为标记

我正在使用这部分代码在Google地图版本2的MapFragment中添加一个标记。 MarkerOptions op = new MarkerOptions(); op.position(point) .title(Location_ArrayList.get(j).getCity_name()) .snippet(Location_ArrayList.get(j).getVenue_name()) .draggable(true); m = map.addMarker(op); markers.add(m); 我想使用我的drawable中的不同图像。 任何帮助将不胜感激。

Google Maps V2 – Android – 获取当前缩放级别

如何在GoogleMap上获取当前缩放级别的整数 我需要从GMaps v1.1中获取这些代码: MapView mGoogleMapView; int zoomLevel = mGoogleMapView.getZoomLevel(); 我知道方法getMinZoomLevel()和getMaxZoomLevel()但是我找不到任何东西在Android GMap V2文档,将提供当前缩放级别。 有没有人有任何指示如何做到这一点? 任何帮助,将不胜感激。

偏离MapFragment的中心,以获得animation,同时移动目标经纬度和缩放比例

我有一个具有透明View的MapFragment的UI。 地图占用整个屏幕,而视图只是屏幕的左三分之一。 结果,地图的默认“中心”closures。 当有人点击标记时,我想将标记居中在MapFragment的完全可见区域(而不是MapFragment本身的中心)。 由于这很难用文字来形容,所以让我用几张照片。 假设这是我的用户界面的外观: 当用户点击一个标记时,我想要将它放在中间并放大以便更近一点。 没有任何调整,这是你会得到: 我想要的是标记居中,但在右边的空间中,像这样: 如果不使用地图的投影来改变缩放级别,那么实现这个壮举非常容易: // Offset the target latitude/longitude by preset x/y ints LatLng target = new LatLng(latitude, longitude); Projection projection = getMap().getProjection(); Point screenLocation = projection.toScreenLocation(target); screenLocation.x += offsetX; screenLocation.y += offsetY; LatLng offsetTarget = projection.fromScreenLocation(screenLocation); // Animate to the calculated lat/lng getMap().animateCamera(CameraUpdateFactory.newLatLng(offsetTarget)); 但是,如果您同时更改缩放级别,则上述计算不起作用(因为在不同的缩放级别下lat / lng偏移会发生变化)。 让我列出一个尝试修复的列表: 快速改变缩放级别,进行计算,放大到原来的相机位置,然后animation。 […]

Android谷歌地图标记禁用导航选项

我创build一个应用程序,用户需要走到地图上的一个点。 但他们需要find自己的路线。 我创build了一个带标记的地图,但默认情况下,如果用户点击标记“开始导航”,并显示在谷歌地图选项的视图。 是否有可能禁用这些选项? 标记点击时显示的选项

第二次打开SupportMapFragment时出错

当第二次打开我的SupportMapFragment(Android maps v2)(调用setContentView)时,出现以下错误: 01-28 16:27:21.374: E/AndroidRuntime(32743): FATAL EXCEPTION: main 01-28 16:27:21.374: E/AndroidRuntime(32743): android.view.InflateException: Binary XML file line #6: Error inflating class fragment 01-28 16:27:21.374: E/AndroidRuntime(32743): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704) 01-28 16:27:21.374: E/AndroidRuntime(32743): at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 01-28 16:27:21.374: E/AndroidRuntime(32743): at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 01-28 16:27:21.374: E/AndroidRuntime(32743): at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 01-28 16:27:21.374: E/AndroidRuntime(32743): at android.view.LayoutInflater.inflate(LayoutInflater.java:352) 01-28 16:27:21.374: E/AndroidRuntime(32743): at android.view.View.inflate(View.java:16119) 01-28 16:27:21.374: E/AndroidRuntime(32743): […]

移动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。 但在较低版本中,我们仍然需要使用解决方法。

更改Google Maps API的“我的位置”button的位置

我正在使用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);

自定义信息窗口适配器与地图v2中的自定义数据

我想在android中的地图v2中制作自定义信息窗口适配器,如下所示。 我看到下面的链接,但没有得到更多。 1,2,3 , 下面是我的内容布局文件。 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ImageView android:id="@+id/infocontent_iv_image" android:layout_width="150dp" android:layout_height="150dp" android:layout_alignParentTop="true" /> <RelativeLayout android:id="@+id/infocontent_rl_middle" android:layout_below="@id/infocontent_iv_image" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5dp" > </RelativeLayout> <TextView android:id="@+id/infocontent_tv_name" android:layout_below="@id/infocontent_rl_middle" android:layout_width="match_parent" android:layout_height="wrap_content" android:textStyle="bold" android:layout_margin="5dp" /> <TextView android:id="@+id/infocontent_tv_type" android:layout_below="@id/infocontent_tv_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:textColor="#CCCCCC" android:layout_margin="5dp" /> <TextView android:id="@+id/infocontent_tv_desc" android:layout_below="@id/infocontent_tv_type" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="5dp" /> <TextView android:id="@+id/infocontent_tv_addr" android:layout_below="@id/infocontent_tv_desc" android:layout_width="match_parent" […]

Android:如何从当前位置到目的地绘制路线方向谷歌地图API V2

如何绘制从当前位置到目的地(经纬度)的路线方向,我的代码如下: import android.os.Bundle; import com.actionbarsherlock.app.SherlockActivity; import com.google.android.gms.maps.CameraUpdateFactory; import com.google.android.gms.maps.GoogleMap; import com.google.android.gms.maps.MapFragment; import com.google.android.gms.maps.model.LatLng; import com.google.android.gms.maps.model.MarkerOptions; public class DetailMapActivity extends SherlockActivity { private GoogleMap map; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_detail_map); LatLng TO_DESTINATION = new LatLng(-6.33438, 106.74316); map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)) .getMap(); map.setMyLocationEnabled(true); map.addMarker(new MarkerOptions().position(TO_DESTINATION).title("Destination Title") .snippet("Destination Description")); map.moveCamera(CameraUpdateFactory.newLatLngZoom(TO_LOCATION, 40)); map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null); } […]

GoogleService无法初始化

我在我的Android应用程序中使用谷歌地图。 我已经创build了密钥并在清单文件中添加了必要的权限。 但是很快我开始了应用程序,我在debugging器中得到这个消息: GoogleService无法初始化状态:10,缺less预期的资源:“R.string.google_app_id”以初始化Google服务。 可能的原因是缺lessgoogle-services.json或com.google.gms.google-services gradle插件。 我不知道什么是错的。 地图工作正常,我可以使用它没有任何问题。 我的gradle文件有这个条目: 编译“com.google.android.gms:play-services:8.4.0” 这是什么抱怨,我如何缓解呢?