android谷歌地图标记问题

时间:2013-08-02 16:02:59

标签: java android maps marker

我有以下问题,我添加了几个标记,50%黑点和50%红点作为图标,但其中90%出现黑点。应该是当我按下它们然后转回来时,红色变成红色.WHY?

由于

P.S.Here是代码

mMap = mapFragment.getMap();
StationAccess stationAccess = new StationAccess(getApplicationContext());
List<Station> stationList = stationAccess.getByBusName(getTitle().toString());
if(s.getRouteType().toString().contains("TUR")){
    mMap.addMarker(new MarkerOptions().position(new LatLng(s.getLatitude(),s.getLongitude())).title(s.getRouteType().toString()).icon(BitmapDescriptorFactory.fromResource(R.drawable.punct_negru)));
            }
if(s.getRouteType().toString().contains("RETUR")){
    mMap.addMarker(new MarkerOptions().position(new LatLng(s.getLatitude(),s.getLongitude())).title(s.getRouteType().toString()).icon(BitmapDescriptorFactory.fromResource(R.drawable.punct_rosu)));
            }

1 个答案:

答案 0 :(得分:2)

这是因为“RETUR”还包含字符串“TUR”。因此,对于第二个if语句,任何对于第二个if语句都为true的getRouteType字符串也是如此。

我建议不要在s.getRouteType()上进行字符串比较。我对你的课程结构不熟悉,但如果它是一个枚举,它可能看起来像

if (s.getRouteType().equals(RouteType.*Something*)) {
    mMap.addMarker(new MarkerOptions().position(new LatLng(s.getLatitude(),s.getLongitude())).title(s.getRouteType().toString()).icon(BitmapDescriptorFactory.fromResource(R.drawable.punct_negru)));
} else if (s.getRouteType().equals(RouteType.*SomethingElse*)) {
    mMap.addMarker(new MarkerOptions().position(new LatLng(s.getLatitude(),s.getLongitude())).title(s.getRouteType().toString()).icon(BitmapDescriptorFactory.fromResource(R.drawable.punct_rosu)));
}