Google maps 双开关箱工作不正常。谷歌地图形状绘图
我想创建弹出菜单,其中包括:选择地图类型,选择形状与城市的地图上绘制的墙 我的问题:Google maps 双开关箱工作不正常。谷歌地图形状绘图,google-maps,switch-statement,polygons,popupmenu,Google Maps,Switch Statement,Polygons,Popupmenu,我想创建弹出菜单,其中包括:选择地图类型,选择形状与城市的地图上绘制的墙 我的问题: 我不知道如何清理一次拾取的形状(或将其切换为无,方法无关紧要) 如何使我的地图在更改形状时不再加载 public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); switch(item.getItemId()){ case R.id.mediewal: shape = new Pol
- 我不知道如何清理一次拾取的形状(或将其切换为无,方法无关紧要)
- 如何使我的地图在更改形状时不再加载
public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); switch(item.getItemId()){ case R.id.mediewal: shape = new PolygonOptions(); mMap.addPolygon(shape); break; case R.id.swedish: shape = new PolygonOptions() .add(new LatLng(53.426685, 14.565516), new LatLng(53.427519, 14.565268), ................................ new LatLng(53.427003, 14.565636)) .strokeColor(0xB3A60307) .fillColor(0xB3670000) .strokeWidth(8) .geodesic(true); mMap.addPolygon(shape); shape = new PolygonOptions() .add(new LatLng(53.420158, 14.557578), new LatLng(53.420285, 14.557832), ................................ new LatLng(53.419972, 14.557818)) .strokeColor(0xB3A60307) .fillColor(0xB3670000) .strokeWidth(8) .geodesic(true); mMap.addPolygon(shape); break; case R.id.prussian: shape = new PolygonOptions(); mMap.addPolygon(shape); break; case R.id.none: shape = new PolygonOptions(); mMap.addPolygon(shape); break; } switch(item.getItemId()){ case R.id.normal_map: mapType = GoogleMap.MAP_TYPE_NORMAL; break; case R.id.satellite_map: mapType = GoogleMap.MAP_TYPE_SATELLITE; break; case R.id.terrain_map: mapType = GoogleMap.MAP_TYPE_TERRAIN; break; case R.id.hybrid_map: mapType = GoogleMap.MAP_TYPE_HYBRID; break; } mMap.setMapType(mapType); return super.onOptionsItemSelected(item); }
任何帮助都将不胜感激通常避免反复加载地图我已经移动了
mMap.setMapType(mapType)在带有mapTypes的开关盒中的每个贴图类型下的代码>。从Return
call中删除了ofc此项
为了勾选形状,我调用mMap.clear()
,它从地图中删除所有形状和标记。这对每个人来说都不是完美的解决方案,但对我来说已经足够了
我认为,要形成一种形状,我们应该称之为(带有复选框):
记住初始化形状,例如,private Polygon polygon2代码>相关问题:您使用的是什么库?我错过了“绘制后如何删除所有形状”非常感谢!我对android一无所知。我解决了添加mMap.clear()的问题,它可以删除地图上的所有线条、点和形状。我把它放在“无”的情况下。地图仍在重新加载,但总的来说,我有我想要的。更重要的是,API描述中的多边形绘制部分并没有描述whis方法,而是在其他章节中描述。主题可能已关闭,抱歉占用您的时间。
if(item.isChecked()){
item.setChecked(false);
polygon2.remove()
;}
else{
item.setChecked(true);
polygon2 = mMap.addPolygon(shape2);
}
break;