- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
最近怎么样?
我正在开发一款基于 Google map 和定位服务的安卓应用。我对 Google Maps 了解一点,这是我在这个项目中学到的,但是关于 GoogleMaps 有几件事我不知道...
在我的主要 Activity 中,我使用了 mapFragment。我有我的 onMapReady 方法....
@Override
public void onMapReady(GoogleMap map) {
double myCurrentLatitude = getGPS()[0];
double myCurrentLongitude = getGPS()[1];
CameraPosition myCurrentLocation = CameraPosition.builder()
.target(new LatLng(myCurrentLatitude, myCurrentLongitude))
.zoom(12)
.bearing(0)
.tilt(2)
.build();
map.moveCamera(CameraUpdateFactory.newCameraPosition(myCurrentLocation));
map.getUiSettings().setScrollGesturesEnabled(true);
}
这只是 Activity 中的一种方法,它工作正常,当 Activity 启动时,它会放大用户所在的位置。
现在,我希望能够将 map 缩放到特定位置。假设用户想去某个地方,我可以获得他们想去的地方的纬度和经度(双倍)....我无法获得此 Activity 来更改 map 的焦点并缩放到此新位置。
我已经尝试了几种方法,但我就是不知道如何操作 mapFragment。
我的小小研究向我展示了 getMapAsync,但这些方法似乎是在 Activity 刚刚启动时调用的。我想写一个方法(我称之为 placeLocation(lat, long)... 可以在 3 分钟后/任何我想要的时候调用它,它会接受我给它的纬度/经度,并在上面放大我的 mapFragment地点。
我在我的 placeLocation 方法中尝试了这一行
map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
但是 android studio 对这个 getMap() 方法非常不满——基本上甚至不认识它。基本上我不知道如何在 getMap、getMapAsync 之间操作我的 map ...你能帮忙吗?
请指点一下好吗?
感谢您的阅读,也感谢您的宝贵时间。
你谦虚的代码兄弟。
最佳答案
首先你需要创建一个类变量,比如:
私有(private) GoogleMap mMap;
现在,当您的 onMapReady()
方法触发时,您可以获取 GoogleMap
对象并将其设置为类变量。
@Override
public void onMapReady(GoogleMap map) {
mMap = map;
double myCurrentLatitude = getGPS()[0];
double myCurrentLongitude = getGPS()[1];
CameraPosition myCurrentLocation = CameraPosition.builder()
.target(new LatLng(myCurrentLatitude, myCurrentLongitude))
.zoom(12)
.bearing(0)
.tilt(2)
.build();
mMap.moveCamera(CameraUpdateFactory.newCameraPosition(myCurrentLocation));
mMap.getUiSettings().setScrollGesturesEnabled(true);
}
现在,当您需要更改 map 时,只需像这样使用类变量“mMap”:
private void mapMoveTo(double lat, double lng){
LatLng latLng = new LatLng(lat, lng);
if(mMap != null){
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, zoomFactor));
}
}
关于java - Google map 和 MapFragment 以及 getMapAsync,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50376313/
我想制作一个使用 Google Maps for Android v2 的 Android 应用程序。 我可以显示一张 map 。我什至可以导航和缩放。但是,当我想搜索要进行的更多操作时,我找不到任何
我正在按照本教程制作抽屉导航: https://github.com/codepath/android_guides/wiki/Fragment-Navigation-Drawer 我的 fragme
我一直在Navigation Drawer Activity 中工作,它有很多 fragment ,其中一个 fragment 包含MapFragment。 现在 MapFragment 中出现问题,
我的应用程序中有一个 MapFragment 和常规 fragment 。问题是当我在 fragment 之间切换时,MapFragment 在后台。我有代码来查找 MapFragment 是否存在,
我遇到了以下错误 Skipped 40 frames! The application may be doing too much work on its main thread. 对此进行了研究.
我有一个包含 MapFragment 的 View 我的 mainViewPanel 看起来像这样 我的翻译代码是这样的 TranslateAnimation anim = new Transl
我想知道实现带抽屉导航的 MapFragment 的正确方法是什么。我已经可以很好地工作了,但我一直在阅读一些文档,也许它会在未来造成麻烦。 所以,我实现了抽屉导航的主类是一个非常普通的类,具有以下
将 MapFragment 与操作栏菜单一起使用时,我遇到了性能问题。 当满足三个条件时就会出现错误 实例化一个 MapFragment。 从选项菜单触发 fragment 事务,用另一个 fragm
我正在尝试构建一个将实现操作栏选项卡的应用程序。其中一个选项卡应包含一个 MapFragment。 如何实现带有选项卡的操作栏,其中一个选项卡下方是 map fragment ? 你能帮我解决这个问题
我正在使用 MapFragment,我的 Activity 布局是这样的: 如果我想使用 CameraUpdateFactory.newLatLngBounds(LatLngBounds, padd
我正在尝试将我的 ActionBar 迁移到 AppCompat 21 方式(使用设置为用作 ActionBar 的工具栏小部件),但它没有显示或被 MapFragment 隐藏。 这是我的 Acti
我有一个位置类,它在 MapFragment 上创建一个实例,并且根据创建 map 的 Activity ,将放置不同的标记。我还希望 map 显示手机当前位置的标记。 我假设我可以做这样的事情,但我
我正在尝试使我的 map 应用程序重定向到位置权限设置,一旦授予权限,就会再次重定向到应用程序。由于某种原因,我的 onActivityResult 在启动 Activity Intent 后甚至没有
我目前正在调整 Google Map MapFragment View 的大小(从全屏高度到半屏)。我使用 ValueAnimator 来实现此目的,但动画在设备 (Nexus 6p) 上似乎滞后。我
我有一个使用 Google map fragment 的应用程序,我想以某种方式设置用户可以使用 map fragment 中提供的 +/- 图标达到的缩放级别限制。 有什么已知的方法可以做到这一点吗
有没有什么方法可以在不使用 XML 的情况下以编程方式将 Button 添加到 MapFragment 或直接添加到 GoogleMap 对象? 谢谢! 最佳答案 当然有,当然不是直接到 map fr
我有一个 Activity 和 MapFragment 类。我在 Activity 中创建了 MapFragment 对象。当我尝试获取 mapFragmentObject.getView() 时,它
我正在尝试在 Android Studio 中显示来自 ArcGis 的 MapView。为此,我正在使用 Map Fragments,我将 Map 和其他 UI 内容放入 xml 中。将 MapVi
我正在尝试在 PagerAdapter 中加载 Mapfragment。这是适配器代码, public class ShopPagerAdapter extends PagerAdapter {
我查看了文档,但找不到 MapFragment 只显示左下角带有 Google Logo 的灰色屏幕的任何原因。在我的 list 中,我有应用程序级别的适当元数据(GMS 版本号和 api key )
我是一名优秀的程序员,十分优秀!