我正在尝试使用从数据库中检索的经度/纬度向我的Google地图添加标记.但是,我似乎无法在onMapReady之外添加标记.
我的活动布局内的地图片段
<fragment androID:name="com.Google.androID.gms.maps.SupportMapFragment" androID:ID="@+ID/map" androID:layout_wIDth="match_parent" androID:layout_height="400dp"/>
OnCreate
mapFragment = (SupportMapFragment) getSupportFragmentManager() .findFragmentByID(R.ID.map); mapFragment.getMapAsync(this);
OnMapReady
@OverrIDe public voID onMapReady(GoogleMap map) { map.addMarker(new MarkerOptions() .position(new LatLng(1, 1)) .Title("jjj")); }
我基本上需要获取对地图的引用,该引用使我可以从该OnMapReady方法中添加一个标记.
解决方法:
这是正确的方法,可以异步加载地图.如果您确实想在onMapReady方法之外设置标记,请考虑在此类内的新属性,该属性将保留对您在onMapReady方法中获得的GoogleMap对象的引用.但是,在调用此属性时请注意,因为它可能尚未设置(NullPointerException)!另外,当您不再需要该属性时,可能要取消设置该属性,这样就不会发生内存泄漏.
...private GoogleMap mMyGoogleMap;...@OverrIDepublic voID onMapReady(GoogleMap map) { mMyGoogleMap = map;}
总结 以上是内存溢出为你收集整理的android-一旦数据可用,将标记添加到Google Map?全部内容,希望文章能够帮你解决android-一旦数据可用,将标记添加到Google Map?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)