我目前正在尝试实现一个Actionbar-button,在使用时将我的GoogleMap对象上的所有标记设置为可见或不可见.我的问题是,我不知道如何在创建并在地图上显示所有标记后引用它.我正在寻找一个解决方案,我将所有标记对象存储到一个数组中,我可以访问我的代码的其他部分.这种方法合理吗?
这是我在想的:
private Marker[] mMarkerArray = null; for (int i = 0; i < MainActivity.customers.size(); i++) { LatLng location = new LatLng(mData.lat, mData.lng); Marker marker = mMap.addMarker(new MarkerOptions().position(location) .Title(mData.Title) .snippet(mData.snippet)); mMarkerArray.add(marker); }
并在另一个方法中将所有标记设置为不可见:
for (int i = 0; i < mMarkerArray.length;; i++) { mMarkerArray[i].setVisible(false);}
它拒绝将标记添加到Marker [] – 数组.我怎么能实现它?
mMarkerArray.add(标记)不起作用
解决方法:
我想出了一个答案,也是我的customerList让客户没有坐标 – > (0,0; 0,0).灵感来自this blog.
初始化ArrayList:
private ArrayList<Marker> mMarkerArray = new ArrayList<Marker>();
将标记添加到我的地图和mMarkerArray:
for (int i = 0; i < MainActivity.customers.size(); i++) { Customer customer = MainActivity.customers.get(i); if (customer.getLon() != 0.0) { if (!customer.isProspect()) { Data mData= new Data(customer.getLat(),customer.getLon(),customer.getname(), customer.getort()); LatLng location = new LatLng(mData.lat, mData.lng); Marker marker = mMap.addMarker(new MarkerOptions().position(location) .Title(mData.Title) .snippet(mData.snippet)); mMarkerArray.add(marker); }}}
设置所有标记不可见
for (Marker marker : mMarkerArray) { marker.setVisible(false); //marker.remove(); <-- works too!}
总结 以上是内存溢出为你收集整理的如何访问我的GoogleMap-Object(android maps v2)上的所有标记并将它们设置为(可见)?全部内容,希望文章能够帮你解决如何访问我的GoogleMap-Object(android maps v2)上的所有标记并将它们设置为(可见)?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)