我遇到了这个问题,谷歌的NavigationDrawer无法在地图上正确绘制,当我从屏幕一侧拉出它时,它被绘制在地图下而不是它上面,当它从已经打开时关闭它正确显示.
所述第一图片被关闭它,所述第二PIC被打开.这是在运行4.1的Galaxy S3上发生的,但在我的Galaxy nexus 4.2上没有问题.我ViewPager和Map前一段时间有类似的问题可以通过将地图放在FrameLayout另一个框架布局上来修复,但那是在ICS之前的设备上.如果我不得不猜测这与硬件加速有关.
以下是 YouTube上的错误视频.
android google-maps google-maps-android-api-2 navigation-drawer
我需要显示dropdown使用谷歌placeAutocomplete小部件的地方列表.在这里,我正在根据我的查询显示对话框,但是我需要为Uber,Ola应用程序中的搜索结果对话框提供自定义设计.在这里,我想要设计如下图像.如果有人这样做,请提前给我你的建议,在此先感谢.
如何在GoogleMap V2中自定义内置缩放控件的位置?
对于Google地图库的第1版,有很多与此主题相关的问题.
如何使用setBuiltInZoomControls(true)布局缩放控件?
但是,我无法找到与库的V2有关的任何问题.
在V2中,没有方法
(LinearLayout) mapView.getZoomControls();
Run Code Online (Sandbox Code Playgroud)
所有前面提到的问题都已过时.
提前致谢
是否可以构建Android Google API SDK而不是使用gradle的常规Android SDK?
我需要在我的项目中使用Google Maps API,因此我需要更改构建目标我只能找到构建版本为"17"的样本compileSdkVersion 17 buildToolsVersion '17 .0.0'
知道怎么做吗?
我有一个片段是Viewpager的一部分,我想在该片段中使用Google Map V2.这是我到目前为止所尝试过的,
在我的片段中,
private SupportMapFragment map;
private GoogleMap mMapView;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState);
FragmentManager fm = getChildFragmentManager();
map = (SupportMapFragment) fm.findFragmentById(R.id.map);
if (map == null) {
map = SupportMapFragment.newInstance();
fm.beginTransaction().replace(R.id.map, map).commit();
}
}
@Override
public void onResume() {
super.onResume();
if (mMapView == null) {
mMapView = map.getMap();
Marker hamburg = mMapView.addMarker(new MarkerOptions().position(HAMBURG)
.title("Hamburg"));
Marker kiel = mMapView.addMarker(new MarkerOptions()
.position(KIEL)
.title("Kiel")
.snippet("Kiel is cool")
.icon(BitmapDescriptorFactory
.fromResource(R.drawable.ic_launcher)));
mMapView.moveCamera(CameraUpdateFactory.newLatLngZoom(HAMBURG, 15));
// Zoom in, animating …Run Code Online (Sandbox Code Playgroud) 我有一个标记,当我打开地图时,它会显示标记.当我点击它时,它会显示标题和一个工具栏,其中包含地图右下角的两个按钮,让我可以启动意图导航到标记或在谷歌地图中显示它.我希望在打开地图时自动显示这些内容,而不是让用户点击标记.
像这样 :-) ...
我似乎无法弄清楚如何做到这一点.
我试过了:
// create marker
MarkerOptions marker = new MarkerOptions().position(
new LatLng(latitude, longitude)).title("title");
// adding marker
googleMap.addMarker(marker).showInfoWindow();
googleMap.getUiSettings().setMapToolbarEnabled(true);
Run Code Online (Sandbox Code Playgroud)
但这只是显示标记标题和右上角的按钮转到我的位置而不是右下角的两个工具栏意图按钮.
像这样 :-( ...
我有点卡住任何想法?
android google-maps google-maps-markers google-maps-android-api-2
我试图获得一个列表标记(使用GMaps V2 for Android),类似于我在GMaps V1.1 for Android中使用的getOverlays()方法:
private MapView mapView;
mapView.getOverlays().add(overlay);
Run Code Online (Sandbox Code Playgroud)
我怎么能做一些类似于我上面做的事情,但有标记?
任何帮助,将不胜感激.
android google-maps google-maps-markers google-maps-android-api-2
我想定期(比如每2分钟)当前位置更新为这个我下面的官方文档,我写了这个代码,但它不会给当前的位置即使在我传递requestLocationUpdates LocationRequest对象指定每两分钟更新( ),这里是代码:
public class MapsActivity extends FragmentActivity implements OnMapReadyCallback,
GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener{
private FusedLocationProviderClient FusedLocationClient;
private GoogleApiClient mGoogleApiClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_maps);
if (mGoogleApiClient == null) {
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(LocationServices.API)
.build();
}
SupportMapFragment map =
getSupportFragmentManager().findFragmentById(R.id.map));
map.getMapAsync(this);
FusedLocationClient LocationServices.getFusedLocationProviderClient(this);
}
@Override
public void onConnected(Bundle bundle) {
FusedLocationClient.getLastLocation()
.addOnSuccessListener(this, new OnSuccessListener<Location>() {
@Override
public void onSuccess(Location location) {
if (location != null) {
Log.i("MainActivity ", "" + location.getLongitude())
}
}
});
FusedLocationClient = …Run Code Online (Sandbox Code Playgroud) java android google-maps-android-api-2 android-fusedlocation
我正在使用Google Maps API V2进行活动,其中下拉导航地图位于第二个位置.
我正在实际添加地图,如:
mMapFragment = supportMapFragment.newInstance();
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.placeHolder, mMapFragment, TAG_MAP)
.commit();
Run Code Online (Sandbox Code Playgroud)
我想获取GoogleMap ovject,因为文档https://developers.google.com/maps/documentation/android/map说它应该完成mMapFragment.getMap(),但它返回null.
根据http://developer.android.com/reference/com/google/android/gms/maps/SupportMapFragment.html ,如果Fragment尚未通过onCreateView生命周期事件,则返回null.
片段何时准备好怎么知道?
编辑:我发现这个如何知道在使用SupportMapFragment时地图已经准备就绪?
覆盖onActivityCreated似乎是一个解决方案,但是我必须通过构造函数而不是newInstance()实例化片段,它有什么区别吗?
我需要你的帮助......我一直工作到3天.我的应用正在使用片段.其中一个片段必须显示Android版Google Maps V2 api中的地图.
目前,我正在使用MapFragment,但毫不奇怪,片段中的片段不是一个好主意,但它有效,地图正在显示,我可以编辑它但是当我切换主片段并返回它时.
引起:java.lang.IllegalArgumentException:二进制XML文件行#59:复制id 0x7f070041,标记为null或父ID为0x7f070040,另一个片段为com.google.android.gms.maps.MapFragment
在android.app.Activity.onCreateView(Activity.java:4252)
在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:673)
当我继续另一个片段并返回到包含地图的片段时,这就是原因.我正在寻找3天来解决这个问题,但没有很好的结果.
为了继续,我有一个Activity调用一个片段,该片段在布局文件中包含一个MapFragment.如果您需要更多,请问:)
谢谢
编辑:这是在主Activity中更改Fragment的代码
private void swtichFragment(Fragment fragment, Bundle bundle)
{
fragment.setBundle(this, bundle);
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.rightFragmentPlaceHolder, fragment);
fragmentTransaction.commit();
mRightFragment = fragment;
}
Run Code Online (Sandbox Code Playgroud)